SQL Server 2008 - Performance Monitoring

Zbieranie diagnostických informácií o prevádzke a výkonnosti SQL Server-a patrí medzi kľúčové činnosti databázových administrátorov. Nepretržité zbieranie a analýza nazbieraných diagnostických informácií je predpokladom k udržaniu optimálnej výkonnosti databázovej aplikácie na platforme Microsoft SQL Server a verzia SQL Server 2005 priniesla v porovnaní s predchádzajúcou verziou významné vylepšenia v oblasti sprístupnenia množstva informácii o stave takmer všetkých komponentov SQL Server-a. Väčšina týchto informácií je sprístupnená prostredníctvom tzv. Dynamic Management Views (DMV) a pokiaľ používate SQL Server 2005 SP2, tak je možné tieto informácie vizualizovať sadou reportov, nazvaných SQL Server Performance Dashboard.
Tak ako názov DMV naznačuje, tieto pohľady sprostredkovávajú množstvo dynamických informácií, ktoré sú dostupné počas prevádzky SQL Server-a. Hodnoty v týchto pohľadoch sú inicializované pri štarte servera, a teda sú určené hlavne pre online diagnostiku stavu servera. Tento menší nedostatok mnoho administrátorov vyriešilo vlastnými skriptami, ktoré sú spúšťané v pravidelných intervaloch a ukladajú diagnostické informácie do databáz, ktoré je potom možné analyzovať aj v dlhodobejšom časovom horizonte.
Pre tých administrátorov, ktorým takýto spôsob monitorovania nevyhovuje, prináša SQL Server 2008 riešenie nazvané ako Performance Datawarehouse alebo Performance Studio. Toto riešenie poskytuje centralizované ukladanie diagnostických informácií o stave servera, pričom nezaťažuje monitorovaný systém a zároveň umožňuje analýzu nazbieraných údajov pomocou reportov v SQL Server Management Studiu alebo prostredníctvom uložených procedúr a programátorského rozhrania API Performance Studia.
Kľúčovým komponentom je flexibilná infraštruktúra Performance Data Collection, ktorá pozostáva z tzv. data collectora každej monitorovanej inštancie SQL Servera 2008. Pomocou data collectora je možné zbierať všeobecné diagnostické informácie a výkonové ukazovatele monitorovaného servera. Data collector pozostáva z nasledovných komponentov:
Data Provider
Zdroj diagnostických alebo výkonových informácií – typicky SQL Trace, Performance Monitor, T-SQL query)
Collector Type
Wrapper zabezujúci mechanizmus zbierania diagnostických informácií z data providera.
Collection Item
Inštancia Collector Type. Jedným z atribútov je napr. frekvencia zbierania informácií.
Collection Set
Základná jednotka Performance Data Collection. Je to skupina Collection Items definovaných v rámci SQL Server inštancie.
Collection Mode
Spôsob, akým sú diagnostické informácie zbierané a ukladané. Collection Mode môže byť cached alebo non-cached.
Obr.c.1.95dAA7DDGkLd.jpg
Obr. č.1                Architektúra Data Collector

Po nakonfigurovaní Data Collector-a je potrebné definovať databázu (tzv. Management DataWarehouse DB), do ktorej budú diagnostické informácie zo servera ukladané. Táto databáza je štandardnou relačnou databázou, ktorá obsahuje samotné monitorované hodnoty a niektoré agregované dáta, slúžiace na analýzu historických dát a trendov. Databáza môže byť umiestnená na lokálnom alebo vzdialenom servri – odporúčané je umiestniť databázu na iný server ako produkčný, nakoľko nazbierané diagnostické informácie nebudú skreslené samotným monitorovaním. V závislosti od konfigurácie monitorovania môže množstvo nazbieraných dát dosiahnuť 250-350 MB a pridať zhruba 5%-nú záťaž na CPU.
Ako si môžeme teda nakonfigurovať monitorovanie SQL 2008 ? V zásade na to potrebujeme nasledovné kroky:
1.        Vytvorenie databázy Management Datawarehouse
V záložke Management klikneme pravým tlačítkom myši na položku Data Collection a zvolíme Configure Management Datawarehouse. Spustí sa sprievodca, pomocou ktorého vytvoríme alebo nakonfigurujeme databázu na lokálnom alebo vzdialenom SQL Servri (Obr. č.2).
Obr.c.2.X63lvN9k8EBm.jpg
2.        Konfiguráciu zbierania diagnostických informácií – System Data Collection
Pod záložkou Data Collection nám pribudol folder System Data Collection a pod ním 3 položky - Disk Usage, Query Statistics a Server Activity. Kliknutím pravým tlačítkom myši na niektorú z týchto položiek a zvolením Properties sa dostaneme ku konfigurácii samotného zbierania príslušných údajov – frekvencie, režimu zbierania, vstupných parametrov, dĺžku obdobia uchovávania diagnostických informácií v Management Datawarehouse databáze a pod. (Obr. č. 3, 4).
Obr.c.3.hEtcyJt5DKJ9.jpg
Obr.c.4.OytEOi414sVu.jpg
3.        Analyzovanie nazbieraných údajov
Pomocou preddefinovaných reportov si môžeme zobraziť požadované údaje, napr.
  • informácie o využívaní diskov po kliknutí pravým tlačítkom myši na Disk Usage a zvolením Reports -> Historical -> Disk Usage Summary (obr. č. 5)
Obr.c.5.GvrwH8T6Ulw8.jpg

  • štatistiku dotazov kliknutím pravým tlačítkom myši na Query Statistics a zvolením Reports -> Historical -> Query Statistics History (obr. č. 6)
Obr.c.6.VFYiYnB45vnY.jpg
  • prehľad o aktivite servera kliknutím pravým tlačítkom myši na Server Activity a zvolením Reports -> Historical -> Server Activity History (obr. č. 7)
Obr.c.7.XARCPRCIoydh.jpg

Čo dodať na záver ? SQL Server 2008 Performance Studio umožní databázovým administrátorom jednoduchým a rýchlym spôsobom zbierať a analyzovať diagnostické a výkonové informácie a pomocou týchto dát zabezpečiť optimálnu prevádzku SQL Server aplikácií. Je to opäť výrazný krok vpred v snahe uľahčiť administrátorom život a odbremeniť ich od činností, ktorých plnenie im bráni sústrediť sa na činnosti, ktoré od nich vyžaduje zamestnávateľ.