PANTHEON™ manual

 Kategori
 PANTHEON Ndihmë - Mirësevini
[Collapse]PANTHEON
 [Expand]Udhëzues për PANTHEON
 [Collapse]Manualet e Përdoruesve për PANTHEON
  [Collapse]Manuali i Përdoruesit për PANTHEON
   [Collapse]Fillimi
     Fjalor i terma
     Hapat e parë me PANTHEON
    [Expand]Përdorimi i PANTHEON në Tecta, një kompani fiktive
    [Expand]Udhëzime për Sigurimin e Përputhshmërisë së PANTHEON me SAS
    [Expand]PANTHEON Instalimi
    [Collapse]PANTHEON Sistemi
     [Expand]PANTHEON Sistemi të dhënash
     [Collapse]MS SQL Server
       Shkarko dhe instalo MS SQL Server
       Rritja e MS SQL Server në 2019 ose 2022
       MS Management Studio - Shkarko dhe instalo
       Rivendosja e bazës së të dhënave në serverin SQL
       Shtimi i përdoruesve në nivelin e serverit (AddUser_PAX)
       Instalimi i SQL për qasje të jashtme
       Instalimi i klientëve PANTHEON
       Nastavitve MS SQL strežnika për më shumë Pantheon™ rreth
       Ndryshimi i Renditjes së SQL
      [Expand]Siguria e MS SQL Server
      [Expand]Pyetje të dobishme SQL
       SQLExecute
      [Expand]Punët e SQL Server
     [Expand]Microsoft Windows Utilities
     [Expand]Politika e Sigurisë
     [Expand]Administrimi i Bazës së të Dhënave
    [Expand]PANTHEON Bazat
    [Expand]PANTHEON Ndihmë
    [Expand]Materialet dhe Lëvizjet e Mallrave
    [Expand]Shënjimi i Identifikuesve
    [Expand]Pyetje të shpeshta në lidhje me Pantheon (P.S.)
    [Expand]Arkiv
   [Expand]Manuali i Përdoruesit për eBusiness
   [Expand]Vendosjet
   [Expand]Porositë
   [Expand]Mallrat
   [Expand]Prodhimi
   [Expand]Shërbimi
   [Expand]Ndihmë
   [Expand]Stafi
   [Expand]Financat
   [Expand]Analitika
  [Expand]Manuali i Përdoruesit për PANTHEON Retail
  [Expand]Manuali i përdoruesit për PANTHEON Vet
  [Expand]Manuali i Përdoruesit për PANTHEON Bujqësi
[Expand]PANTHEON Web
[Expand]PANTHEON Granulat
[Expand]Faqja e Përdoruesit

Load Time: 843,7693 ms
print   |
Label

(ARHIV)
Konfigurimi i serverit MS SQL për mjedise më të mëdha Pantheon™

Konfigurimi i serverit MS SQL për mjedise më të mëdha Pantheon™

  Nëse po vendosim për mjedise më të mëdha, versioni i lirë i MS SQL Express nuk është i mjaftueshëm, prandaj përdorim versionet Standard ose Enterprise. Më poshtë janë disa udhëzime të thjeshta për planifikimin dhe përgatitjen e sistemit, ku do të funksionojë serveri Pantheon™.  

Fushat e diskut

Na nevojiten të paktën tre fusha të ndara raid1, të përbëra nga të paktën gjashtë disqe:

fusha e parë përdoret për sistemin, pagefile, instalimin e SQL

fusha e dytë përdoret për bazat e të dhënave sistemike, përfshirë TEMPDB

fusha e tretë përdoret për bazat e prodhimit

Nëse kemi në dispozicion 8 disqe, përdorim fushën e katërt për loge.

Është e dëshirueshme që fusha e raid-it të jetë e rregulluar. Për fushat e diskut, ku ndodhen bazat SQL, kjo është e domosdoshme. Në rastin e përdorimit të sistemit operativ Windows Server 2008, kjo bëhet automatikisht, ndërsa në rastin e Windows Server 2003, e bëjmë manualisht me komandën diskpart. Shembulli më poshtë tregon procesin e përgatitjes së një particioni të rregulluar në një nga fushat raid:

diskpart

list disk

select disk <x>

create partition primary align=1024

assign

exit

Particionet, ku ndodhen bazat SQL, duhet të formatohen me madhësinë e klasterit 64KB.

Nëse sistemi SQL është tashmë i vendosur, mund të kontrollojmë rregullimin e particioneve me komandën:

    wmic partition get BlockSize, StartingOffset, Name, Index

    Vlera e offset-it fillestar ndahet me madhësinë e bllokut. Nëse marrim një vlerë të çuditshme (p.sh. 63), particionet nuk janë përgatitur siç duhet, që do të thotë 20% - 40% ngadalësim të performancës SQL nën ngarkesa të ndryshme IO.

Po ashtu, mund të kontrollojmë përshtatshmërinë e madhësisë së klasterit, me komandën:

    fsutil fsinfo ntfsinfo c:

    Nëse midis vlerave të shfaqura "Bytes Per Cluster" është ndryshe nga 65536, atëherë particioni nuk është formatuar siç duhet, që ndikon negativisht në performancën IO të serverit SQL.   Kapacitetet e procesorëve dhe memorja Kërkesat mund të jenë shumë të ndryshme, minimumi i rekomanduar është të paktën sisteme dual core Xeon dhe 8GB memorie dhe sistem 64 bit.

 

TempDB

Është e rekomanduar të kemi një skedë të dhënash për çdo bërthamë fizike CPU në sistem. Si shembull mund të përdorim procesorin shumë të njohur Intel Xeon E5620, i cili ka 4 bërthama fizike ose 8 virtuale (hyperthreading). Në këtë rast, është optimale të kemi 4 skeda të dhënash për tempdb. Të gjitha skedat e dhënash duhet të jenë të njëjta në madhësi

me skedën e dhënash për tempdb, është e rekomanduar të alokojmë paraprakisht hapësirën e diskut, për të shmangur fragmentimin.

Shembulli i përgatitjes së një skede të dhënash shtesë me 10GB hapësirë të alokuar paraprakisht:

USE [master]

GO

ALTER DATABASE [tempdb] ADD FILE ( NAME = N'tempdata2', FILENAME = N'e:\sql\templog2.mdf' , SIZE = 10240000KB , FILEGROWTH = 10%)

GO  

 

Analizat e shpejtësisë së funksionimit të bazës së të dhënave Pantheon™ - sistem

Kur vërejmë ngadalësime në funksionim, hapi i parë i rekomanduar është realizimi i procesit të përmirësimit të bazës Pantheon™, pasi kështu krijohet një gjendje optimale e bazës së të dhënave:

korrigjohen indeksat dhe çelësat në tabela

korrigjohet integriteti referencial midis tabelave

shtohen fusha të reja, rregullohen ato ekzistuese dhe hiqen ato të tepërta

Gjatë përmirësimit, duhet të jemi të kujdesshëm që të aktivizojmë opsionin "Përmirësimi i të gjitha objekteve". Kjo kontrollon të gjithë strukturën e Pantheon™ dhe eliminon gabimet që mund të ketë shkaktuar një faktor të jashtëm (implementime shtesë).

Është e rekomanduar të monitorojmë numrat e performancës, në nivelin e sistemit operativ Microsoft:

Memory Commited Bytes – nëse ka më shumë memorie të alokuar se sa ka sistemi, është e nevojshme të zgjerohet memoria, sepse bëhet fjalë për swapping.

Memory Available Mbytes – nëse kjo bie nën 5%, është e nevojshme të zgjerohet memoria

PhysicalDisk Idle Time – nëse kjo bie disa herë nën 15%, do të thotë se fushat e diskut janë të mbingarkuara

PhysicalDisk Read Latency & Write Latency – nëse këto kalojnë disa herë 30ms, është e nevojshme të kontrollohet struktura e fushave të diskut, kërkesat sql, përputhshmëria e particioneve me praktikat më të mira etj.  

 

Analizat e shpejtësisë së funksionimit të bazës së të dhënave Pantheon™ – SQL

Kontrollojmë se sa kohë të dhënat qëndrojnë në cache. Vlerat "page life expectancy" janë kritike, ndërsa ato të rekomanduara janë në rreth 1000. Për një pamje të saktë, kërkesa më poshtë duhet të ekzekutohet çdo 5 minuta për një periudhë të mjaftueshme kohore, që të jetë mostra përfaqësuese. Me aktivizimin e disa sistemeve të monitorimit të serverëve (sidomos MS data collection të integruar lokal), kjo mund të ndikojë negativisht në performancën e përgjithshme të serverit, pasi analiza e të dhënave ndodh lokalisht.

 

 

select b.total - a.db as 'Plan Cache Size', c.ple as 'Page Life Expectancy'

from

( select cntr_value as db

from sys.dm_os_performance_counters

where object_name like '%Buffer Manager%' and counter_name like 'Database pages%' ) a, 

( select distinct cntr_value as total

from sys.dm_os_performance_counters

where object_name like '%Buffer Manager%' and counter_name like 'Total pages%' ) b,

( SELECT cntr_value AS ple

FROM sys.dm_os_performance_counters

WHERE object_name like '%Buffer Manager%'

AND counter_name = 'Page life expectancy' ) c

 

Kontrollojmë operacionet më të kërkuara p oCPU dhe me kërkesat më poshtë. Shumica e problemeve ndodhin pas ndarjes së procedurave nga përdoruesit (programim i dobët, indekse, skanime të plota të tabelave,...). Bazuar në rezultatet, operacionet më të kërkuara analizohen dhe optimizohen sipas nevojës.

 

-- top 10 CPU

SELECT TOP 10

  qs.execution_count,

  total_CPU_secs = qs.total_worker_time/1000000,

  average_CPU_secs = (qs.total_worker_time/1000000) / qs.execution_count,

  total_elapsed_time_secs = qs.total_elapsed_time/1000000,

  query = st.text,

  qp.query_plan

FROM

  sys.dm_exec_query_stats AS qs

  CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st

  CROSS apply sys.dm_exec_query_plan (qs.plan_handle) AS qp

  ORDER BY qs.total_worker_time DESC

 

-- top 10 I/O

SELECT TOP 10

  qs.execution_count, qs.total_logical_reads, 

  qs.total_elapsed_time, qs.max_elapsed_time,

  qs.last_elapsed_time, qs.last_execution_time,

    SUBSTRING(qt.text, (qs.statement_start_offset/2)+1,

    ((CASE qs.statement_end_offset

    WHEN -1 THEN DATALENGTH(qt.text)

    ELSE qs.statement_end_offset

    END - qs.statement_start_offset)/2)+1) as query,

  qp.query_plan

FROM sys.dm_exec_query_stats qs

  CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt

  CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp

  WHERE qt.encrypted=0

  ORDER BY qs.total_logical_reads DESC

 

Është e rekomanduar të kontrollohet integriteti i bazës së të dhënave me:

 

USE Pantheon

GO

DBCC CHECKDB WITH NO_INFOMSGS

 

Konfigurimi i gabuar ose indekset e munguar shpesh janë shkaku i problemeve të performancës. Shpesh, problemet shkaktohen gjithashtu nga fragmentimi i indekseve ose përditësimi i statistikave të tabelave. Fragmentimin e indekseve e kontrollojmë me:

 

USE Pantheon;

SELECT a.index_id, name, index_type_desc, avg_fragmentation_in_percent

FROM sys.dm_db_index_physical_stats (DB_ID(), OBJECT_ID(N'Production.Product'),

     NULL, NULL, NULL) AS a

    JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.index_id = b.index_id

WHERE name not like 'NULL' AND avg_fragmentation_in_percent > 10

ORDER by avg_fragmentation_in_percent DESC

GO

 

Është e rekomanduar të kryhet çdo javë rindërtimi i indekseve dhe përditësimi i statistikave me:

 

USE Pantheon;

GO

DECLARE @TableName VARCHAR(255)

DECLARE @sql NVARCHAR(500)

DECLARE @fillfactor INT

SET @fillfactor = 80

DECLARE TableCursor CURSOR FOR

SELECT OBJECT_SCHEMA_NAME([object_id])+'.'+name AS TableName

FROM sys.tables

OPEN TableCursor

FETCH NEXT FROM TableCursor INTO @TableName

WHILE @@FETCH_STATUS = 0

BEGIN

SET @sql = 'ALTER INDEX ALL ON ' + @TableName + ' REBUILD WITH (FILLFACTOR = ' + CONVERT(VARCHAR(3),@fillfactor) + ')'

EXEC (@sql)

SET @sql = 'UPDATE STATISTICS ' + @TableName + ' WITH FULLSCAN'

EXEC (@sql)

FETCH NEXT FROM TableCursor INTO @TableName

END

CLOSE TableCursor

DEALLOCATE TableCursor

GO

 

 



Rate this topic
Was this topic usefull?
Comments
Comment will also bo visible in forum!