PANTHEON™ navodila

 Kazalo
 Glavna stran - Dobrodošli v PANTHEON navodila
[Collapse]PANTHEON
 [Collapse]Vodiči za PANTHEON
  [Expand]Vodič po PANTHEON-u
  [Expand]Vodič po PANTHEON Farming
  [Expand]Vodič po PANTHEON Retail
  [Expand]Vodič po PANTHEON Vet
 [Collapse]Uporabniški priročniki za PANTHEON
  [Collapse]Uporabniški priročnik za PANTHEON
   [Collapse]Kako začeti?
    [Expand]Nasveti o podjetništvu
     Prvi koraki v programu PANTHEON
    [Expand]Primer uporabe PANTHEON-a v namišljenem podjetju
    [Expand]Zagotavljanje skladnosti PANTHEON-a s SRS
    [Expand]PANTHEON Sistem
    [Collapse]Namestitev programa
      Proces namestitve
      Konfiguracija računalnika
     [Expand]PANTHEON Licenciranje
      Regionalne nastavitve
     [Expand]Vrste namestitve glede na konfiguracijo mreže
      Posodobi in odstrani
     [Collapse]Lokalna namestitev PANTHEON-a
      [Expand]Čarovnik za namestitev PANTHEONA lokalno
      [Collapse]Namestitev potrebnih orodij in komponent
        Potrebna orodja za namestitev PANTHEON-a
       [Collapse]Microsoft SQL strežnik
         Prenos in namestitev
         Nadgradnja SQL strežnika na verzijo 2019
         Nastavitve MS SQL strežnika za večja Pantheon™ oko
         Sprememba vrstnega reda SQL
        [Expand]Varnost MS SQL Server
        [Expand]Uporabni SQL poizvedbe
        Prenos in namestitev Microsoft Management Studio
        Vpenjanje baze na SQL strežnik
        Dodajanje uporabnikov na strežniški nivo (AddUser_
        Namestitev SQL za zunanji dostop
        Konfiguracijska datoteka .ini
        Namestitev PANTHEON klientov
        Windows Terminal server
     [Expand]Namestitev PANTHEON gostovanja
      Naročilo in nastavitve storitev ePoslovanja
      Seznam spletnih storitev
      Menjava verzije
      Migracija na nov strežnik
      Odstranitev programa
    [Expand]Osnovni pojmi in napotki
    [Expand]Materialni in blagovni tokovi
    [Expand]Napotki za šifriranje
    [Expand]Arhiv
   [Expand]Pogosta vprašanja o PANTHEON-u (F.A.Q.)
   [Expand]Uporabniški priročnik za ePoslovanje
   [Expand]Nastavitve
   [Expand]Naročila
   [Expand]Blago
   [Expand]Servis
   [Expand]Proizvodnja
   [Expand]Denar
   [Expand]Plansko-analitska orodja ZEUS
   [Expand]Kadri
   [Expand]Pomoč
   [Expand]Osebje
   [Expand]Arhiv uporabniških strani
  [Expand]Uporabniški priročnik za PANTHEON Retail
  [Expand]Uporabniški priročnik za PANTHEON Vet
[Collapse]PANTHEON Web
 [Collapse]Vodiči za PANTHEON Web
  [Expand]Vodič po PANTHEON Web Light
  [Expand]Vodič za PANTHEON Web Terminal
  [Expand]Vodič za PANTHEON Web Legal
  [Expand]Arhiv starih izdelkov
 [Collapse]Uporabniški priročniki za PANTHEON Web
  [Expand]Kako začeti
  [Expand]Uporabniški priročnik za PANTHEON Web Light
   Uporabniški priročnik za PANTHEON Web Terminal
  [Expand]Arhiv starih izdelkov
  [Expand]Uporabniški priročnik za PANTHEON Web Legal
[Collapse]PANTHEON Granule
 [Collapse]Vodiči za PANTHEON Granule
  [Expand]Granula Kadri
  [Expand]Granula Potni nalogi
  [Expand]Granula Dokumenti in Opravila
  [Expand]Granula Nadzorna plošča
  [Expand]Granula B2B Naročanje
  [Expand]Granula Servis na terenu
  [Expand]Inventar fiksnih sredstev
  [Expand]Granula Inventura skladišča
 [Collapse]Uporabniški priročniki za PANTHEON Granule
   Začetek
   Primer uporabe PANTHEON Granul v namišljenem podjetju
  [Expand]PANTHEON Granule in aktivacija
  [Expand]Granula Kadri
  [Expand]Granula Potni nalogi
  [Expand]Granula Dokumenti in opravila
  [Expand]Granula B2B naročanje
  [Expand]Granula Nadzorna plošča
  [Expand]Granula Servis na terenu
  [Expand]Granula Inventura osnovnih sredstev
  [Expand]Granula Inventura skladišča
   PANTHEON Granule - pogosta vprašanja in odgovori
   Arhiv
  
  
  
  
  
  
  
  
[Expand]Uporabniške strani

Load Time: 406,2492 ms
"
  1000730 | 200766 | 214824 | AI translated
Label

(ARHIV)
Nastavitve MS SQL strežnika za večja Pantheon™ oko

Nastavitve MS SQL strežnika za večja Pantheon™ okolja

  V kolikor se odločamo o večjih okoljih, priložena prosta različica MS SQL Express ne zadostuje, zato posežemo po Standard ali Enterprise različicah. V nadaljevanju sledi nekaj osnovnih napotkov, pri načrtovanju in pripravi sistema, kjer bo potekal Pantheon™ strežnik.  

Diskovna polja

Potrebujemo vsaj tri ločena raid1 polja, sestavljena iz vsaj šestih diskov:

prvo polje uporabimo za sistem, pagefile, namestitev SQL

drugo polje uporabimo za sistemske baze, med drugim tudi TEMPDB

tretje polje uporabimo za produkcijske baze

V kolikor imamo na voljo 8 diskov, uporabimo četrto polje za loge.

Zaželjeno je, da je sistemsko raid polje poravnano. Za diskovna polja, kjer se nahajajo SQL baze pa je to nujno. V primeru uporabe operacijskega sistema Windows Server 2008 je to narejeno samodejno, v primeru Windows Server 2003 pa to naredimo ročno z ukazom diskpart. Spodnji primer prikazuje postopek priprave aligned particije na enem izmed raid polj:

diskpart

list disk

select disk <x>

create partition primary align=1024

assign

exit

Particije, kjer se nahajajo SQL baze je potrebno formatirati s 64KB cluster size.

V kolikor SQL sistem že imamo vzpostavljen, lahko alignment particij preverimo z ukazom:

    wmic partition get BlockSize, StartingOffset, Name, Index

    Izpisan starting offset delimo z blocksize. V kolikor dobimo liho vrednost (npr. 63) particije niso pravilno pripravljene, kar pomeni 20% - 40% počasnejše delovanje SQL ob različnih IO obremenitvah.

Preverimo lahko tudi ustreznost cluster velikosti, in sicer z ukazom:

    fsutil fsinfo ntfsinfo c:

    V kolikor je med izposanimi vrednostmi »Bytes Per Cluster« različen od 65536, je particija ni pravilno formatirana, kar negativno vpliva na IO zmogljivosti SQL strežnika.   Procesorske zmogljivosti in pomnilnik Zahteve so lahko zelo različne, priporočen minimum pa so vsaj dual core Xeon sistemi ter 8GB pomnilnika ter 64 bitni sistem.

 

TempDB

Priporočeno je imeti en data file za vsak fizičen CPU core v sistemu. Kot primer lahko uporabimo zelo razširjen procesor Intel Xeon E5620, ki ima 4 fizične core oziroma 8 virtualnih (hyperthreading). V tem primeru je optimalno imeti 4 data file za tempdb. Vsi data filei morajo biti enako veliki

data filom za tempdb je pripročeno vnaprej alocirati diskovni prostor, da se izognemo fragmentaciji.

Primer priprave dodatnega datafila z 10GB prealocated prostora:

USE [master]

GO

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

GO  

 

Analize hitrosti delovanja Pantheon™ podatkovne baze - sistem

Ob opažanju upočasnitev delovanja, je za prvi korak priporočena izvedba procesa nadgradnje Pantheon™ baze, saj se tako vzpostavi optimalno stanje podatkovne baze:

popravijo se indexi in ključi na tabelah

popravi se referenčna integriteta med tabelami

dodajo se nova polja, uredijo obstoječa ter odstranijo odvečna

Pri nadgradnji moramo biti pozorni, da vklopimo možnost »Nadgradnja vseh objektov«. S tem se preveri celotna Pantheon™ struktura ter odpravi napake, katere je morebiti povzročil zunanji dejavnik (dodatne implementacije).

Priporočeno je spremljanje performance counterjev, na nivoju Microsoftovega operacijskega sistema:

Memory Commited Bytes – v kolikor je alociranega pomnilnika več, kot ga ima sistem je potrebno razširiti pomnilnik, ker gre za t.i. swapping.

Memory Available Mbytes – v kolikor le ta pade pod mejo 5%, je potrebno razširiti pomnilnik

PhysicalDisk Idle Time – v kolikor le ta večkrat pade pod 15%, pomeni da so diskovna polja preobremenjena

PhysicalDisk Read Latency & Write Latency – v kolikor večkrat presegata 30ms, je potrebno pregledati strukturo diskovnih polj, sql zahtevke, skladnost particij z best practice ipd.  

 

Analize hitrosti delovanja Pantheon™ podatkovne baze – SQL

Preverimo, koliko časa podatki ostanejo v cachu. Vrednosti »page life expectancy« so kritične, priporočene pa so v rangu okoli 1000. Za pravilno sliko, se naj spodnji zahtevek izvaja vsakih 5 minut skozi dovolj dolgo obdobje, da bo vzorec reprezentativen. Ob vklopu več strežniških nadzornih sistemov (predvsem vgrajen lokalni MS data collection), lahko to negativno vpliva na celostno zmogljivost strežnika, saj analiza podatkov poteka lokalno.

 

 

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

 

Preverimo najbolj zahtevne operacije p oCPU ter s spodnjima querijema. Večinoma težave nastopajo po uporabniških dodelavah postopkov (sloppy programming, indexi, full table scani,...). Na podlagi rezultatov, se najvolj zahtevne operacije analizira ter po potrebi optimizira.

 

-- 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

 

Priporočeno je preveriti integriteto podatkovne baze z:

 

USE Pantheon

GO

DBCC CHECKDB WITH NO_INFOMSGS

 

Napačna postavitev ali mankajoči indexi so velikokrat vzrok performančnih težav. Velikokrat pa težave povzroči tudi fragmentacija indexov ali update statistik tabel. Fragmentacijo indexov preverimo z:

 

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

 

Priporočeno je tedensko izvajanje rebuilda indexov ter update statistik z:

 

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

 

 


 

Ali so bila ta navodila uporabna?
Vaše povratne informacije bodo prispevale k boljši pomoči.
Komentarji
Komentarji so izpostavljeni tudi na forumu.