Použitie SQL Server Profiler. Použitie SQL Profiler

Profiler SQL Server 2005, Sledovanie požiadaviek aplikácie, Vzory sledovania, Zoskupovanie informácií o požiadavkách

Jedným z najužitočnejších nástrojov na sledovanie aktivity používateľov je profilovač (Profiler). Pomocou tohto nástroja môžete zistiť, aké príkazy SQL Server práve vykonáva. Potreba použiť profiler vzniká veľmi často. Tu je niekoľko štandardných situácií, v ktorých môže byť veľmi ťažké sa bez neho zaobísť:

q chcete analyzovať činnosť aplikácie a zistiť, aké príkazy vykonáva na serveri. Tieto informácie sa môžu hodiť:

· Aby ste pochopili, s akými tabuľkami v databáze táto aplikácia pracuje pri vykonávaní určitých operácií. V podniku je veľmi často potrebné vytvárať zostavy vo forme, ktorú aplikácia neposkytuje, a vývojári zriedka poskytujú podrobné informácie o štruktúre databázy;

· Zistiť, ako optimálne sú z hľadiska požiadaviek na výkon odosielané na server aplikáciou. V praxi pri používaní profilera môžete často identifikovať úplne neoptimálne dopyty, napríklad keď sa na klientovi vykonáva filtrovanie alebo triedenie údajov;

· Aby ste pochopili, že pri vykonávaní ktorého príkazu Transact -SQL z aplikácie na serveri sa vyskytne chyba;

q zhromažďovať informácie o aktivite používateľa počas dlhého časového obdobia (napríklad môžete zhromažďovať všetky požiadavky, ktoré určitá aplikácia odoslala na server počas pracovného dňa). Zhromaždené informácie potom možno manuálne analyzovať alebo odovzdať poradcovi pre ladenie databáz na automatizovanú analýzu;

q na monitorovanie výkonu servera v reálnom čase. Ak sa napríklad server náhle spomalí, v okne profilovača uvidíte, aké príkazy sa na ňom momentálne vykonávajú.

V SQL Server 2005 má profiler veľa nových vecí:

q Bolo zavedené profilovanie udalostí Integration Services. Teraz môžete použiť profiler na sledovanie postupu nových balíčkov DTS;

q teraz je možné zaznamenávať hodnoty počítadiel z monitora systému pri zapisovaní informácií o vykonaní príkazu;

q Do profilovača bolo pridaných mnoho nových udalostí a zdrojov informácií, ktoré možno vybrať na zápis do súboru sledovania. Definíciu toho, čo sa má zapísať do súboru sledovania, je teraz možné uložiť vo formáte XML;

q Teraz môžete uložiť výsledky sledovania vo formáte XML (možnosť zapisovať do formátov ANSI, OEM, UNICODE je tiež uložená);

q Dokonca aj plány vykonávania príkazov Transact -SQL zachytené profilovačom možno uložiť vo formáte XML. Tieto plány je potom možné otvoriť v SQL Server Management Studio na ďalšiu analýzu;

q teraz je možné zoskupovať udalosti priamo v okne profilovača. Pomocou zoskupovania môžete napríklad veľmi ľahko vypočítať, koľkokrát bol konkrétny príkaz Transact -SQL vykonaný na serveri počas dňa.

Práca s profilovačom vyzerá veľmi jednoducho. Túto aplikáciu je možné spustiť z ponuky Štart| programy| Microsoft SQL Server 2005 | Výkonové nástroje | SQL Server Profiler ... Ak chcete začať, v okne profilovača, ktoré sa otvorí v ponuke Súbor(Súbor), ktorý musíte vybrať NovýSledovať(Nové sledovanie) a pripojte sa k serveru SQL Server 2005, ktorý budete monitorovať. Sledovanie sa vzťahuje na reláciu, ktorá zhromažďuje informácie o prevádzke SQL Server 2005. Pred začatím zhromažďovania informácií však musíte nakonfigurovať parametre tejto relácie. Toto nastavenie sa vykonáva v okne SledovaťVlastnosti(Vlastnosti sledovania), ktorá sa otvorí automaticky pred spustením relácie sledovania (obr. 11.1).

Ryža. 11.1. Nastavenie parametrov relácie sledovania

V záložke generál(Všeobecné) uvedené Použiteašablóna(Použiť šablónu) si môžete vybrať najvhodnejšiu šablónu na zhromažďovanie informácií v rámci vašej relácie. V zásade môžete ignorovať nastavenia šablóny, ale manuálne definovať parametre na zhromažďovanie informácií (pomocou susednej karty DianiaVýber(Výber udalosti)). Určenie správnej šablóny však môže ušetriť čas a vyhnúť sa chybám. Preto sa budeme podrobnejšie zaoberať šablónami.

Šablóna je uložená v špeciálnom súbore s príponou tdf nastavenia relácie sledovania. Práca so šablónami (pridávanie nových, zmena existujúcich, import a export zostáv do iných adresárov) prebieha pomocou menu Súbor| Šablóny(Súbor | Šablóny) v SQL Server Profiler. Na začiatku máte k dispozícii osem šablón:

q štandardné (predvolené)- ako už názov napovedá, táto šablóna je vhodná pre väčšinu situácií, a preto je predvolene vybratá. Umožňuje vám sledovať všetky uložené procedúry a príkazy Transact -SQL, ktoré sú spustené na vykonanie;

q SP _počíta- zhromažďujú sa informácie o uložených procedúrach a funkciách spustených na vykonanie. V tomto prípade sú informácie v okne profilera zoradené (v terminológii profilera - zoskupené) podľa názvov uložených procedúr;

q TSQL- zhromažďujú sa informácie o všetkých príkazoch Transact -SQL spustených na vykonanie na serveri. Okrem príkazového kódu sa zaznamenávajú aj informácie o identifikátoroch používateľských procesov a čase spustenia. Táto šablóna sa zvyčajne používa na monitorovanie príkazov odoslaných na server aplikáciou;

q TSQL _Trvanie- takmer to isté ako predchádzajúca šablóna, ale namiesto zaznamenávania informácií o čase, kedy bol príkaz Transact -SQL spustený, sa zaznamenáva čas potrebný na jeho vykonanie. Táto šablóna sa zvyčajne používa na manuálne monitorovanie výkonu servera;

q TSQL _Zoskupené- okrem informácií o kóde príkazu Transact -SQL a čase jeho spustenia informácie o názve aplikácie, používateľskom účte v operačný systém a používateľské meno používateľa, ktorý bol použitý na pripojenie. V tomto prípade sú záznamy zoskupené podľa prihlásenia. Tento vzor sa zvyčajne používa v situáciách, keď chcete sledovať aktivitu špecifickej aplikácie;

q TSQL _Prehrať znova- budú zaznamenané najpodrobnejšie informácie o vykonaných príkazoch Transact -SQL. Potom sa tieto informácie môžu použiť na reprodukovanie zaťaženia servera s maximálnou presnosťou. Táto šablóna sa zvyčajne používa na napísanie súboru príkazov, ktoré sa potom použijú na testovanie rôznych nastavení servera z hľadiska výkonu;

q TSQL _SP- okrem zaznamenávania informácií o spustení celej uloženej procedúry (udal SP: Začína), táto možnosť sledovania tiež zaznamenáva informácie o vykonaní každého príkazu v tejto uloženej procedúre (udalosť SP: StmtStarting). Tento vzor sa zvyčajne používa na monitorovanie činnosti zložitých uložených procedúr;

q Tuning- Táto šablóna je určená na zaznamenávanie informácií, ktoré sú najvhodnejšie na prenos Poradcu pre ladenie databázy. O tom, ako pracovať s týmto nástrojom na automatickú analýzu a optimalizáciu výkonu, sa bude diskutovať v sekta. 11.5.5.

Ako už bolo spomenuté, vôbec sa netreba obmedzovať len na sadu hotových šablón. Môžete použiť svoje vlastné parametre relácie sledovania ich konfiguráciou na karte DianiaVýber... V tabuľke na tejto karte musíte vybrať požadované udalosti (v riadkoch) a informácie (v stĺpcoch), ktoré sa k nim budú zaznamenávať. Upozorňujeme, že v predvolenom nastavení je viditeľná iba malá časť dostupných riadkov a stĺpcov. Ak chcete povoliť zobrazenie všetkých riadkov a stĺpcov, musíte začiarknuť políčka ŠouVšetkyDiania(Zobraziť všetky udalosti) a ŠouVšetkyStĺpce(Zobraziť všetky stĺpce).

Často sa stáva, že potrebujete sledovať len akcie vykonané v konkrétnej databáze, konkrétnej aplikácii, alebo konkrétneho používateľa, alebo vybrať všetky tieto podmienky súčasne. Filtre na zhromažďovanie informácií je možné nakonfigurovať kliknutím na tlačidlo StĺpecFiltre(Filtre stĺpcov) na karte DianiaVýber... Pre každý stĺpec môžete nakonfigurovať zaznamenávanie iba určitých hodnôt ( Páči sa mi to) alebo zákaz zaznamenávania určitých hodnôt ( Nie ako). V predvolenom nastavení je nakonfigurovaný jeden filter. Nie ako pre stĺpec ApplicationName... Spôsobí, že budú ignorované všetky udalosti SQL Server Profiler, teda všetky udalosti súvisiace so samotným procesom zhromažďovania informácií o sledovaní. Tento filter je lepšie neodstraňovať, pretože inak môže dôjsť k pozitívnej spätnej väzbe s nekonečným zaznamenávaním informácií.

S jedným tlačidlom navyše OrganizovaťStĺpce(Organizovať stĺpce), ktorý sa nachádza na karte DianiaVýber, môžete prispôsobiť poradie stĺpcov pre zobrazenie alebo zadanie v profileri. Venujte pozornosť sekcii Skupina(Skupina) v tomto zozname. Pre tie stĺpce, ktoré sú v ňom umiestnené, sa zoskupenie vykoná automaticky. Ak do tejto sekcie vložíte iba jeden stĺpec, pri prezeraní budete mať možnosť použiť veľmi pohodlný režim Agregovanévyhliadka(Agregované zobrazenie) (keď sú informácie automaticky zoskupené, napríklad podľa databázy, aplikácie, používateľského mena atď., a položky pre požadovanú databázu, aplikáciu alebo používateľa možno rozbaliť a zbaliť).

Po výbere požadovanej šablóny alebo konfigurácii vlastného súboru udalostí na zaznamenávanie sa stačí vrátiť na kartu generál a nakonfigurujte niekoľko ďalších parametrov pre reláciu sledovania.

Informácie o sledovaní možno zaprotokolovať do súboru. Tento súbor je možné použiť v rôznych situáciách:

q môže byť odovzdaný ako zdroj informácií poradcovi pre ladenie databázy;

q možno opakovane „prehrať“ v profileri opakovaním všetkých zaznamenaných príkazov, napríklad na vyhodnotenie výkonu pri rôznych nastaveniach servera;

q môžu byť prezentované vývojárom na podporu ich nárokov na aplikáciu.

Všimnime si niekoľko bodov, ktoré súvisia so zaznamenávaním relácie sledovania do súboru:

q Predvolená veľkosť súboru 5 MB je veľmi malá. Pri profilovaní produkčného servera sa táto veľkosť zadáva v minútach. Pravda, predvolene je začiarkavacie políčko začiarknuté Povoliťsúborprevrátenie(Povoliť zmenu súborov), teda po vyplnení jedného súboru sa automaticky vytvorí druhý súbor, k názvu ktorého sa pripojí číslo 1, potom 2 atď., no nie vždy je vhodné pracovať s veľkým počet súborov. Ak zbierate informácie pre prenos Database Tuning Advisor, je lepšie nastaviť limit veľkosti súboru na 1 GB (pomocou parametra Setmaximálnesúborveľkosť(Prispôsobiť maximálnu veľkosť súboru). generál). Záznam sledovania do súboru sa najčastejšie vykonáva z pracovnej stanice správcu, takže miesto na disku bude potrebné na pracovnej stanici a nie na serveri;

q parameter Serverprocesystopaúdajov(Server spracováva údaje sledovania) možno použiť na zvýšenie spoľahlivosti zaznamenávania informácií o sledovaní. V predvolenom nastavení SQL Server Profiler spracováva spracovanie údajov sledovania na počítači, na ktorom je spustený (nie nevyhnutne na serveri). Ak začiarknete toto políčko, server bude spracovávať informácie o sledovaní. To zaisťuje, že sa budú zhromažďovať všetky informácie o sledovaní (ak nie je začiarknuté políčko v čase maximálneho zaťaženia servera, niektoré informácie môžu byť preskočené), ale zvýši sa zaťaženie servera.

Ďalšou možnosťou zápisu informácií o sledovaní je zápis do tabuľky servera SQL Server. Automaticky sa vytvorí tabuľka s požadovanou sadou stĺpcov. V tejto tabuľke môžete prispôsobiť iba maximálny počet záznamov. Upozorňujeme, že na tejto karte je maximálny počet záznamov uvedený v tisícoch.

Posledný parameter na karte generál- PovoliťSledovaťzastaviťčas(Zahrňte čas zastavenia sledovania). Môžete určiť čas, kedy sa sledovanie automaticky vypne. Zvyčajne má zmysel vypnúť sledovanie pred spustením akýchkoľvek servisných operácií, ktoré vás z hľadiska protokolovania nezaujímajú (zálohy, hromadné načítanie dát, spracovanie kociek OLAP atď.).

Po nakonfigurovaní všetkých parametrov sledovania môžete kliknúť na tlačidlo Bežať kartu (Spustiť). generál a spustite sledovanie (obr. 11.2).

Ryža. 11.2. Zobrazenie informácií počas relácie sledovania

Práca v prehliadači informácií o sledovaní je celkom zrejmá: horná časť zobrazuje udalosti, ktoré sa vyskytujú na serveri, a spodná časť poskytuje o nich podrobné informácie (napríklad kód príkazov SQL). Všimnime si niektoré možnosti dostupné v tomto okne:

q ak je tab OrganizovaťStĺpce vo vlastnostiach šablóny ste vybrali stĺpce, ktoré sa majú zoskupiť, potom môžete podľa týchto stĺpcov zoskupiť záznamy v prehliadači. Na tento účel v ponuke vyhliadka Bol poskytnutý príkaz (Zobraziť). Zoskupenévyhliadka(Skupinový pohľad);

q ak na rovnakej karte vo vlastnostiach šablóny do zoznamu Skupina bol umiestnený iba jeden stĺpec, potom môžete použiť ešte pohodlnejší režim zobrazenia Agregovanévyhliadka(obr.11.3). Tento režim sa aktivuje pomocou príkazu Agregovanévyhliadka z rovnakého menu vyhliadka a umožňuje vám zmeniť hodnoty zo stĺpca podľa vášho výberu na stromové uzly, ktoré môžete zbaliť a rozbaliť. Okrem toho sa pre každý z týchto uzlov automaticky vypočíta počet udalostí.

Ryža. 11.3. Režim zobrazenia Agregovanévyhliadka

q V profileri môžete zobraziť nielen práve zachytené udalosti, ale aj uložené súbory a tabuľky sledovania. Prípadne môžete otvoriť bežné skripty SQL Server pomocou príkazov Transact -SQL. Informácie z týchto súborov alebo tabuliek možno použiť na opakovanie zaznamenaných operácií. Na tento účel sú určené príkazy ponuky. Prehrať znova(Opakovať);

q SQL Server 2005 Profiler predstavuje novú funkciu na priradenie informácií o sledovaní k počítadlám výkonu v nástroji Performance Monitor. Ak chcete využiť túto príležitosť, potrebujete:

Definujte reláciu sledovania, počas ktorej sa musia zaznamenávať informácie o stĺpcoch Doba spustenia a EndTime;

· Spustite reláciu sledovania so záznamom informácií do súboru alebo tabuľky. Súčasne zhromažďovať údaje merača výkonu Monitora výkonu do súboru;

Otvorte zhromaždené informácie zo súboru sledovania v profileri a potom použite príkaz ImportovaťVýkonÚdaje(Importovať údaje o výkone) z ponuky Súbor.

SQL Server 2005 poskytuje zástupný symbol pre profilovač. Toto sú uložené procedúry sledovania. ich funkčnosť takmer identické so schopnosťami profilovača. Môžete napríklad tiež vybrať udalosti na sledovanie a zapísať ich do textového súboru. Hlavným rozdielom je, že všetky nastavenia sa budú musieť vykonať z kódu Transact -SQL.

Uložené procedúry sledovania sú náročnejšie a menej pohodlné na prácu ako s profilerom a neposkytujú ďalšie funkcie. Preto ich nebudeme podrobne zvažovať. Tu je len zoznam takýchto uložených procedúr so stručným popisom:

q sp_trace_create- umožňuje vám konfigurovať parametre relácie sledovania;

q sp_trace_setevent- umožňuje vybrať požadované udalosti pre vytvorenú reláciu sledovania;

q sp_trace_setfilter- umožňuje vám nakonfigurovať filter na zhromažďovanie informácií o sledovaní;

q sp_trace_setstatus- umožňuje spustiť sledovanie, zastaviť ho alebo vymazať sledovanie vytvorené uloženou procedúrou sp_trace_create definícia aktuálnej relácie;

q sp_trace_generateevent- umožňuje vygenerovať vlastnú udalosť, ktorá bude počas sledovania zachytená.

V predchádzajúcich vydaniach (pozri ComputerPress # 1, 3-5, 7, 9'2006) sme sa zaoberali problémami súvisiacimi s prechodom na SQL Server 2005 prostredníctvom migrácie alebo inovácie, ako aj hlavnými scenármi používania SQL Server 2005. článok sa zameria na rôzne metódy optimalizácie dotazov a možné prístupy k riešeniu problémov spojených s hľadaním výkonnostných problémov.

SQL Server poskytuje služby, ktoré bežia v dynamickom, neustále sa meniacom prostredí. Pravidelné sledovanie prevádzky servera vám preto umožňuje identifikovať problémy v štádiu ich výskytu a promptne prijímať opatrenia na ich odstránenie. S akumuláciou štatistík sa objavuje pochopenie hlavných trendov v prevádzke servera. Pravidelné zhromažďovanie údajov – aj keď server beží hladko – vytvorí takzvanú základnú líniu výkonu servera, ktorá môže slúžiť ako benchmark pre ďalšie merania výkonu servera.

Keď budete mať základný benchmark výkonu, získate možnosť analyzovať výkon dotazov v rôznych scenároch. Odporúča sa vykonať merania aspoň pred, počas a po vykonaní rôznych optimalizačných postupov, aby sa zabezpečilo, že vykonané kroky budú úspešné. Okrem toho pravidelné štandardné merania výkonu (týždenné, mesačné, štvrťročné atď.) poskytnú jasnejší obraz o výkone servera.

Základnú líniu možno použiť na určenie špičkových a mimošpičkových hodín servera, času odozvy požiadaviek a príkazových paketov, času potrebného na zálohovanie a obnovu údajov atď.

Výkon dotazu

Vykonávanie požiadaviek by sa malo posudzovať z dvoch hľadísk - zdroje použité na splnenie konkrétnej požiadavky (zdroje zahŕňajú objekty, ku ktorým pristupujeme počas vykonávania požiadavky, zablokované objekty atď.), a čas strávený vykonaním požiadavky , - čím menej času trvá dokončenie požiadavky, tým nižšia je pravdepodobnosť, že počas procesu žiadosti zablokujeme ďalšie požiadavky a transakcie.

SQL Server 2005 obsahuje dva hlavné nástroje na meranie výkonu dotazov – Performance Monitor a SQL Server Profiler. Okrem toho je možné na získanie informácií o vykonávaní dotazov použiť konštrukty T-SQL zo skupiny SET STATISTICS — SET STATISTICS IO, SET STATISTICS PROFILE a SET STATISTICS TIME — a Dynamic Management Views. Ďalej sa bližšie pozrieme na používanie nástroja Performance Monitor a SQL Server Profiler.

Používanie nástroja Performance Monitor

Pomôcka Monitor výkonu sa používa na analýzu výkonu hardvérových a softvérových zdrojov vrátane pamäte, využitia siete, času procesora a informácií súvisiacich s prevádzkou servera SQL Server a ďalších. softvérové ​​produkty- Microsoft Message Queuing (MSMQ), Microsoft .NET Framework a Microsoft Exchange Server. Sledovanie výkonu môžete konkrétne použiť na monitorovanie zdrojov servera SQL Server, ako sú zámky a transakcie.

Ak chcete pridať počítadlá, ktoré nás zaujímajú, musíte vykonať nasledujúce kroky:

  1. Na jedálnom lístku Štart vybrať tím Bežať a v dialógovom okne Bežať predstaviť perfmon... Tým sa spustí konzola Microsoft Performance Management Console (MMC), ktorá zobrazuje grafický pohľad na množstvo počítadiel výkonu.
  2. V okne Monitor systému kliknite pravým tlačidlom myši na graf a vyberte príkaz Pridať počítadlá.
  3. V dialógovom okne Pridať počítadlá vyberte si počítač a objekt, ktorý nás zaujíma na sledovanie. Objekty špecifické pre SQL Server majú príslušnú predponu.
  4. Ak chcete vybrať počítadlá, musíte vybrať niektorú z možností Všetky počítadlá, alebo jedno alebo viac počítadiel z rozbaľovacieho zoznamu (obr. 1).
  1. Potom by ste mali vybrať inštancie databázy alebo povoliť túto možnosť Všetky inštancie.
  2. Kliknutím na tlačidlá Pridať a Zatvoriť dokončíte pridávanie počítadiel.

Po pridaní počítadiel, ktoré nás zaujímajú, môžeme ich hodnoty zobraziť buď vo forme grafu, alebo ich uložiť do súboru sledovania (obr. 2).

V druhom prípade je potrebné prvok rozšíriť Protokoly výkonu a výstrahy a kliknite na príkaz Nové nastavenia denníka... V dialógovom okne Nové nastavenia denníka musíte zadať názov protokolu a kliknúť na tlačidlo OK. Ďalej v dialógovom okne CounterLogName vyberáme tím Pridať počítadlá... Pridanie počítadiel, ktoré nás zaujímajú, je rovnaké, ako je opísané vyššie. Upozorňujeme, že veľký počet počítadiel môže ovplyvniť výkon systému. Po dokončení pridávania počítadiel kliknite Zavrieť.

V záložke generál V kapitole Vzorové údaje každý môžete nastaviť vzorkovaciu frekvenciu (snímanie dát). Odporúča sa začať s priemernou frekvenciou, napríklad každých 5 minút, a potom ju v prípade potreby znížiť alebo zvýšiť. Všimnite si, že čím kratší je interval vzorkovania, tým viac systémových a diskových prostriedkov je potrebných. Pamätajte, že intervaly kratšie ako kvantizačná perióda počítadla môžu tiež viesť k nesprávnemu zobrazeniu údajov. V záložke Log Files môžete nakonfigurovať vlastnosti protokolového súboru a ďalej Rozvrh je stanovený harmonogram monitorovania. Stlačenie tlačidla OK vedie k vytvoreniu protokolu na začiatku zberu dát (obr. 3).

Ak chcete manuálne ukončiť protokolovanie, musíte kliknúť pravým tlačidlom myši na prvok Záznamy počítadla a vyberte si tím Stop.

Ak chcete zobraziť údaje zhromaždené v protokolovom súbore v programe Performance Monitor, vyberte položku Monitor systému, na paneli úloh - príkaz Zobraziť údaje denníka a v dialógovom okne Vlastnosti monitora systému v záložke Zdroj zadajte názov súboru denníka.

Najbežnejšie používané počítadlá Monitora výkonu, z ktorých môžete použiť informácie na identifikáciu problémov s výkonom, sú rozdelené do nasledujúcich kategórií:

  • prístup k údajom - objekt sa používa na audit metód prístupu k údajom, ktoré používa samotný SQL Server SQLServer: Metódy prístupu;
  • štatistika - objekt slúži na sledovanie zostavovania a rekompilácie dotazov SQLServer: Štatistika SQL... Poskytuje informácie o tom, ako rýchlo a efektívne SQL Server spracováva dotazy;
  • transakcie - počítadlá súvisiace s objektmi sa používajú na určenie počtu transakcií za sekundu SQLServer: Databázy a SQLServer: Transakcie;
  • zámky - objekt sa používa na audit zámkov servera SQL Server umiestnených na konkrétnych typoch zdrojov SQLServer: Zámky(Stôl 1).

Tabuľka 1. Počítadlá SQL Server Profiler

Názov pultu

Popis

Počíta rozsah skenovania indexov za sekundu

Počíta počet dokončených skenov dokončených za poslednú sekundu

Indexové vyhľadávanie / sek

Spočíta počet vyhľadávaní indexov za poslednú sekundu

Zámok tabuľky Eskalácie / s

Spočíta počet zámkov pre stôl

Vytvorené pracovné stoly / sek

Spočíta počet pracovných hárkov vytvorených za poslednú sekundu

Dávkové požiadavky / sek

Počíta počet paketov príkazov Transact-SQL za sekundu. Veľký počet paketov znamená dobrú priepustnosť

Kompilácie SQL / sek

Počíta počet kompilácií dotazov za sekundu. Hodnota tohto počítadla by mala byť takmer konštantná, keď používateľ vykoná základné činnosti.

SQL Re-kompilácie / sek

Počíta počet prekompilovaných požiadaviek za sekundu

Objekt SQLServer: Databázy. Počítadlo transakcií / sek

Spočíta počet transakcií začatých v databáze za poslednú sekundu

Objekt SQLServer: Transakcie. Počítadlo najdlhšieho času trvania transakcie

Vypočíta počet sekúnd od začiatku transakcie, ktorá bola aktívna dlhšie ako ktorákoľvek iná aktuálna transakcia. Ak toto počítadlo ukazuje veľmi dlhú transakciu, na získanie informácií o tejto transakcii použite systémovú uloženú procedúru sys.dm_tran_active_transactions ().

Objekt SQLServer: Transakcie. Aktualizujte počítadlo pomeru konfliktov

Vypočíta percento transakcií, ktoré používajú izoláciu snímok na vyriešenie konfliktov, ktoré sa vyskytnú pri aktualizácii údajov v poslednej sekunde

Priemerná doba čakania (ms)

Vypočíta priemerný čas čakania pre každú požiadavku na uzamknutie, ktorá spôsobila čakanie

Požiadavky na uzamknutie / sek

Počíta počet zámkov a konverzií zámkov za sekundu

Čas čakania na uzamknutie (ms)

Vypočíta kumulatívne čakanie na uzamknutia za poslednú sekundu

Počíta počet žiadostí o uzamknutie za sekundu, ktoré viedli k čakaniu

Druhý nástroj, ktorý môžete použiť na meranie výkonu dotazov, je SQL Server Profiler. Ďalej sa pozrieme na hlavné spôsoby použitia.

Použitie SQL Server Profiler

SQL Server Profiler meria výkon jednotlivých dotazov a dotazov, ktoré sú súčasťou uložených procedúr a balíkov príkazov Transact-SQL. Môže sa použiť na zhromažďovanie informácií o výkone, vrátane času potrebného na vykonanie jednotlivého príkazu, času blokovania príkazu a plánu vykonávania.

Ak chcete vytvoriť nový profil, musíte vykonať sériu nasledujúcich krokov:

  1. Spustite SQL Server Profiler ( Microsoft SQL Server 2005 => Nástroje výkonu => SQL Server Profiler).
  2. Na jedálnom lístku Súbor vybrať tím Nová stopa.
  3. V dialógovom okne Pripojte sa k serveru vyberte požadovaný server a kliknite na tlačidlo Pripojte sa.
  4. V dialógovom okne Vlastnosti stopy musíte nastaviť názov profilu (názov stopy) a v zozname Použite šablónu vyberte si jednu z dostupných šablón resp Prázdne ak sa nepoužije žiadna šablóna.
  5. Ak chcete uložiť výsledky profilovania, musíte vybrať túto možnosť Uložiť do súboru na zapisovanie údajov do súboru a určenie maximálnej veľkosti súboru (predvolená hodnota je 5 MB), voliteľne môžete túto možnosť povoliť Povoliť prevrátenie súboru na automatické vytvorenie nového súboru, keď sa dosiahne špecifikovaná veľkosť profilu. Druhou možnosťou je ukladanie údajov do databázovej tabuľky (Uložiť do tabuľky)- možnosť Nastavte maximálny počet riadkov umožňuje nastaviť maximálny počet záznamov.
  6. Ak chcete nastaviť čas ukončenia sledovania, môžete použiť možnosť Povoliť čas zastavenia sledovania(obr. 4).

Ak chcete definovať udalosti a stĺpce údajov pre profil, musíte vykonať nasledujúce kroky:

  1. V dialógovom okne Vlastnosti stopy prejdite na kartu Výber udalostí.
  2. Pridajte alebo odstráňte udalosti z profilu pomocou tabuľky tried udalostí.
  3. Ak chcete získať zoznam všetkých dostupných udalostí, povoľte túto možnosť Zobraziť všetky udalosti(obr. 5).

Tabuľka Tabuľka 2 uvádza najčastejšie používané udalosti SQL Server Profiler. Podobne ako počítadlá výkonu, udalosti SQL Server Profiler spadajú do niekoľkých kategórií, z ktorých niektoré sú zaujímavé pre naše účely.

Tabuľka 2. Udalosti SQL Server Profiler

Názov udalosti

Popis

Táto udalosť nastane, keď sa dokončí vzdialené volanie procedúry.

Táto udalosť sa spustí po dokončení vykonávania uloženej procedúry.

SP: StmtCompleted

Táto udalosť nastane, keď sa dokončí vykonávanie jedného z príkazov Transact-SQL v rámci uloženej procedúry.

SQL: StmtCompleted

Táto udalosť sa spustí po dokončení príkazu Transact-SQL.

SQL: BatchCompleted

Táto udalosť nastane, keď sa dokončí vykonávanie dávky príkazov Transact-SQL.

Táto udalosť sa spustí, keď transakcia získa zámok na nejakom zdroji

Táto udalosť nastane, keď transakcia uvoľní predtým uzamknutý zdroj

Táto udalosť sa spustí, keď sa prekročí časový limit na získanie zámku, pretože požadovaný zdroj je už uzamknutý inou transakciou

Ako zistiť, či existujú blokády

Zakaždým, keď transakcia používa zdroj (tabuľku, stránku, index atď.), nastaví sa na ňu zámok. Ak sa iná transakcia pokúsi o prístup k tomuto zdroju a typ zámku nie je kompatibilný s už držaným zámkom, vytvorí sa nový zámok.

Na určenie prítomnosti zámkov možno použiť nasledujúce metódy:

  • použite pomôcku SQL Server Management Studio Activity Monitor, ktorá zobrazuje informácie o procesoch, zámkoch na úrovni procesov a na úrovni objektov. Ak chcete získať prístup k Monitoru aktivity v SQL Server Management Studio, vyberte položku Zvládanie a v ňom - Monitor aktivity a dvakrát kliknite na túto položku. Monitor aktivity vám umožňuje zobraziť:

Zamknuté objekty na proces – použite ID procesu na identifikáciu požiadavky, ktorá spôsobila uzamknutie ID procesu servera (SPID) Na stránke Informácie o procese,

Procesy spôsobujúce čakanie iných procesov – na identifikáciu takýchto procesov použite stĺpec. Blokované používateľom Na stránke Informácie o procese(obr. 6);

  • použite SQL Server Profiler na získanie správy o zablokovaných procesoch - tento zoznam zobrazuje informácie o procesoch, ktoré boli zablokované dlhšie ako určený čas O

Jedným z mojich obľúbených nástrojov je SQL Server Profiler, často označovaný jednoducho ako Profiler. Tento nástroj zobrazuje údaje pre ľubovoľný počet podrobných udalostí servera SQL Server. Tieto udalosti servera je možné zobraziť v okne Vlastnosti sledovania (obr. 49.3), ako aj zapísať do súboru alebo tabuľky na ďalšiu analýzu. Filtre je možné nastaviť tak, aby registrovali všetky udalosti alebo ich vybranú podmnožinu.

Puc. 49.2. V tomto príklade protokol počítadla zaznamená informácie

o výkone servera SQL Server v adresári C: \ Perf Logs

SQL Server Profiler je možné spustiť z ponuky Nástroje v Management Studio alebo priamo z priečinka SQL Server 2005 v ponuke Štart systému. Ak chcete zobraziť akcie, musíte buď definovať nové sledovanie, alebo použiť existujúci súbor.

S vydaním SP1 má SQL Server Profiler pozornosť! sledovať veľké množstvo údajov na veľkých počítačoch.

Okrem toho sa predtým pri monitorovaní analytickej služby čas zobrazoval v koordinovanom svetovom čase (UTC). Teraz sa používa miestny systémový čas. Predtým úspešne odohrané udalosti boli započítané nesprávne, v dôsledku čoho používateľ dostal nesprávne štatistiky. Tento problém bol vyriešený.

Definovanie novej stopy

Keď sa vytvorí nová stopa (buď pomocou príkazu ponuky Súbor ^ Nová stopa alebo pomocou tlačidla Nová stopa na paneli nástrojov), vytvorí sa aj nové pripojenie k serveru SQL Server a otvorí sa dialógové okno Vlastnosti stopy (obrázok 49.4). Karta Všeobecné v tomto okne konfiguruje sledovanie (najmä názov, umiestnenie súboru atď.) a karta Výber udalostí definuje udalosti, údaje a filtre, ktoré sa majú zaznamenávať. Ak je spustené sledovanie, tieto parametre je možné zobraziť, ale nie zmeniť. Konfiguráciu sledovania je možné uložiť ako šablónu, aby sa uľahčilo vytváranie nových stôp v budúcnosti.

Ryža. 49.4. Karta Events Selection okna Trace Properties vám umožňuje vybrať udalosti sledované pomôckou Profiler

Sledovanie je možné prezerať v reálnom čase, ale údaje možno súčasne zapisovať do súboru alebo tabuľky na serveri SQL Server. Je to užitočné pri neskoršom dolovaní, porovnávaní s počítadlami systémového monitora alebo pri importovaní do pomôcky Database Engine Tuning Advisor.

Keď sa čítania zapisujú do súboru, sú spojené do 128 kB reťazcov, aby sa zlepšil výkon; podobne pri zápise do tabuľky sa údaje zoskupujú do viacerých riadkov.

Ak chcete uložiť údaje nástroja Profiler na neskoršiu analýzu, použite vysokovýkonnú metódu založenú na súboroch, ako aj sledovanie na strane servera (o tom si povieme neskôr). Ak chcete analyzovať údaje pomocou príkazov T-SQL, použite presne rovnaký prístup, ale po skončení relácie sledovania otvorte výsledný súbor v Profileri a z ponuky vyberte Súbor ^ Uložiť ako ^ Tabuľka.

Výber podujatí

Záložka Events Selection definuje akcie databázového servera, ktoré budú protokolované pomocným programom Profiler. Podobne ako Performance Monitor, aj Profiler môže sledovať mnohé kľúčové udalosti na SQL Serveri. Na zjednodušenie prispôsobenia výberu môžete použiť štandardne ponúkané šablóny.

I Udalosť SQL Batch Completed je založená na vykonávaní dávok T-SQL v

SVS ako celok (oddelené terminátormi balíkov), nie ich jednotlivé inštrukcie.

| * Na základe toho Profiler zaznamenáva údaje iba pre jednu udalosť, bez ohľadu na to

Simo z dĺžky balenia. Na registráciu vykonania jednotlivých pokynov

DML používa udalosť SQL Statement Complete.

Nie všetky udalosti možno použiť na reprodukciu stopy. Napríklad udalosť SQL Batch Start sa môže prehrať, ale udalosť SQL Batch Complete nie.

V závislosti od udalostí sú dostupné rôzne údaje na sledovanie. Hoci sa stĺpec s údajmi SPID javí ako voliteľný, je zavádzajúci – je povinný.

Filtrovanie udalostí

Profiler pre vás dokáže zhromaždiť toľko informácií, že dokáže jednoducho zaplniť diskovú jednotku mihnutím oka. Našťastie vám filter programu (obrázok 49.5) pomôže obmedziť toto pole len na údaje, ktoré vás zaujímajú.

Ryža. 49.6. SQL Server Profiler dokáže integrovať údaje monitorovania výkonu a synchronizovať ich so sledovanými udalosťami

Pomocou sledovania SQL

SQL Profiler sa zvyčajne používa interaktívne a postačuje na prerušovaný zber údajov. Dlhodobé sledovania však môžu ľahko nahromadiť státisíce záznamov, čo môže spôsobiť veľmi špecifické problémy na pracovnej stanici vykonávajúcej sledovanie. Riešenie sa scvrkáva na vytvorenie protokolu sledovania priamo na serveri. Toto sledovanie spôsobí malé dodatočné zaťaženie servera; súbory budú zapisované v blokoch po 128 kB.

V priemyselných systémoch, ktoré vykonávajú sledovanie na strane servera, je zapisovanie údajov do súboru na serveri najlepšia cesta zbieranie informácií

výkon pri minimalizácii dodatočného zaťaženia servera.

Sledovanie servera možno definovať a implementovať pomocou súboru systémových uložených procedúr. Kód môžete napísať sami alebo použiť SQL Server Profiler.

Po nakonfigurovaní a otestovaní sledovania v SQL Server Profiler vyberte z ponuky Súbor → Exportovať → Definícia sledovania → Pre SQL Server 2005 a vygenerujte skript T-SQL, ktorý dokáže vykonávať sledovanie na strane servera.

I Ak chcete zistiť, aké stopy bežia na serveri, spustite dotaz na di-

SVS je dynamická reprezentácia riadiacich systraces. Keď sa pozriete na I * výsledky tohto dotazu, uvidíte ďalšie sledovanie. Prvé * číslo je vždy takzvané predvolené sledovanie, ktoré zhromažďuje údaje pre denníky SQL Servera - nemožno ho zastaviť.

Na zastavenie sledovania servera použite systémovú uloženú procedúru sp_trace_setstatus. Jeho prvý argument (traceid) je identifikátor sledovania a druhý definuje povahu akcie. Nulová hodnota parametra akcie zastaví sledovanie, jedna - na spustenie a dve - na zatvorenie a vymazanie. Nasledujúci kód zastaví sledovanie číslo 2.

SQL Server Profiler je grafické rozhranie na vytváranie stôp a analýzu výsledkov sledovania. Udalosti sa ukladajú do súboru sledovania, ktorý je potom možné analyzovať alebo použiť na prehratie špecifických sekvencií krokov na identifikáciu problémov.

Ak chcete sledovať aktuálne prebiehajúce akcie, musíte spustiť MS SQL Profiler, vytvoriť nové sledovanie a nakonfigurovať analýzu indikátorov:

Na karte "Všeobecné" musíte zadať názov stopy. Zadajte, kam sa budú ukladať sledované údaje sledovania – do súboru a/alebo do databázovej tabuľky.

Záložka „Vybrať udalosti“ je veľmi zaujímavá:

Táto stránka špecifikuje udalosti, ktoré sa majú sledovať. V tomto príklade uvedieme údaje potrebné na sledovanie plánov dopytov.

Získajte bezplatné videonávody 267 1C:

V predvolenom nastavení prechádza sledovanie všetkými špecifikovanými udalosťami vo všetkých databázach. Ak chcete uložiť výber na prijaté údaje, musíte kliknúť na tlačidlo "Filtre stĺpcov ...":

Napríklad nastavme filter podľa identifikátora infobase (ID databázy zistíte pomocou dotazu SELECT DB_ID (N'BaseName ')).

Spustenie sledovania v Profileri pre 1C

Po vykonaní všetkých nastavení zostáva začať so sledovaním, preto musíte kliknúť na „Spustiť“ (RUN). Od tohto momentu sa začnú sledovať všetky akcie špecifikované vo filtri:

Napríklad spustím sledovanie v čase dokumentu „Príjmy tovarov a služieb“, aby som sledoval najnáročnejšie operácie.

Po prijatí stopy ju musíte analyzovať.

Analýza údajov z nástroja Profiler

Na analýzu možno výslednú stopu uložiť do súboru alebo do tabuľky. Do databázovej tabuľky uložíme:

SQL Profiler je softvérový nástroj používaný na sledovanie servera SQL Server. "Trace" - relácia na zhromažďovanie informácií o prevádzke SQL Server 2008

Hlavný účel:

SQL Profiler používajú správcovia na:

· Analýza aplikácie;

· Určenie optimálnosti požiadaviek odoslaných na server;

· Identifikácia príkazov Transact-SQL, ktoré generujú chybu;

· Zhromažďovanie informácií o aktivite používateľov počas dlhého časového obdobia;

· Monitorovanie prevádzky servera v reálnom čase.

Nové príležitosti:

a. Profilovanie analytických služieb

b. Profilovanie udalostí integračných služieb

c. schopnosť zaznamenávať údaje z merača z Performance Monitor pri zaznamenávaní informácií o vykonaní príkazu;

d. Do nástroja Profiler bolo pridaných mnoho nových udalostí a zdrojov informácií, ktoré je možné vybrať na zaznamenávanie do súboru sledovania;

f. schopnosť zoskupovať udalosti v okne profilovača.

Práca s SQL Server Profiler

1. Spustite SQL Server Profiler - z ponuky Spustite programy, SQL Server 2008, nástroje výkonu, SQL Server Profiler.

2. V okne, ktoré sa otvorí, v ponuke Súbor vybrať Nová stopa a pripojte sa k serveru SQL Server 2008, ktorý budeme monitorovať.

3. V okne nakonfigurujte parametre relácie Vlastnosti stopy, ktorý sa automaticky otvorí pred spustením relácie sledovania (pozri obr. 8.1).

Ryža. 8.1. Nastavenie parametrov relácie sledovania

a. V záložke generál vyberte zo zoznamu Použite šablónu najvhodnejšia šablóna. Šablóna sa vyberá pomocou ponuky Súbor à Šablóny v SQL Server Profiler. Na začiatku máte k dispozícii osem šablón:

1). Štandardné (predvolené)- predvolená šablóna, ktorá vám umožňuje sledovať všetky uložené procedúry a príkazy Transact-SQL, ktoré sa spúšťajú na spustenie;

2). SP_Counts- zhromažďovanie informácií o uložených procedúrach a funkciách spustených na vykonanie, zoradených podľa mien;

3). TSQL- zhromažďovanie informácií o všetkých príkazoch Transact-SQL spustených na vykonanie na serveri s uvedením identifikátora používateľských procesov a času spustenia;

4). TSQL_Duration- je podobná predchádzajúcej šablóne, ale namiesto informácie o čase, kedy bol príkaz TSQL spustený, je zaznamenaný čas jeho vykonania;

5). TSQL_Grouped- okrem informácií o kóde príkazu Transact-SQL a čase jeho spustenia sa zaznamenávajú aj informácie o názve aplikácie, používateľskom účte v OS a používateľskom účte, ktorý bol použitý na pripojenie;



6). TSQL_Replay- zaznamenávanie najpodrobnejších informácií o vykonaných príkazoch Transact-SQL;

7). TSQL_SPs- okrem zaznamenávania informácií o začiatku uloženej procedúry (SP: Starting) sa zaznamenávajú informácie o vykonaní každého z príkazov uloženej procedúry (SP: StmtStarting);

8). Tuning- používa sa na zhromažďovanie informácií požadovaných Poradcom pre ladenie databázy.

b. V záložke generál ak je potrebné špecifikovať miesto na uloženie informácií o sledovaní:

jeden). Informácie o sledovaní možno zaprotokolovať do súboru (predvolene 5 MB):

· parameter Povoliť prevrátenie súboru určuje, či sa pri vypĺňaní jedného súboru automaticky vytvorí ďalší súbor. Názov nasledujúceho súboru bude rovnaký ako názov predchádzajúceho, ale k jeho názvu sa pridá číslo (1, 2, 3 atď.)

· parameter Server spracováva údaje sledovania možno použiť na zvýšenie spoľahlivosti zaznamenávania informácií o sledovaní. Keď je začiarknuté toto políčko, server bude spracovávať informácie o sledovaní.

2). Informácie o sledovaní môžu byť uložené v tabuľke servera SQL Server. Automaticky sa vytvorí tabuľka s požadovanou sadou stĺpcov.

3). Pomocou parametra Povoliť čas zastavenia sledovania môžete určiť čas, kedy sa sledovanie automaticky vypne.

c. V záložke Výber udalostí určiť parametre pre zber informácií. V tabuľke na tejto karte musíte vybrať požadované udalosti (v riadkoch) a informácie (v stĺpcoch), ktoré sa k nim budú zaznamenávať. Ak chcete zobraziť všetky riadky a stĺpce, musíte začiarknuť políčka Zobraziť všetky udalosti a Zobraziť všetky stĺpce.

jeden). pomocou tlačidla Stĺpcové filtre(Stĺpcové filtre) nastaviť filtre na zhromažďovanie potrebných informácií (sledovanie akcií vykonaných v konkrétnej databáze alebo konkrétnej aplikácii alebo konkrétneho používateľa) - Páči sa mi to alebo Nie ako;

2). pomocou tlačidla Usporiadať stĺpce(Organize Columns) prispôsobenie poradia stĺpcov na zobrazenie alebo zaznamenanie v profileri s možnosťou zoskupovania údajov - sekcia Group.

4. Po zadaní všetkých parametrov sledovania kliknite na tlačidlo Bežať(Spustiť) (pozri obr. 8.2)

Ryža. 8.2. Zobrazenie informácií počas relácie sledovania

Horná časť okna zobrazuje udalosti vyskytujúce sa na serveri a spodná časť poskytuje podrobné informácie o každej udalosti (napríklad kód príkazu SQL).

Funkcie dostupné v okne sledovania:

1. Ak tab Usporiadať stĺpce vo vlastnostiach šablóny ste vybrali stĺpce na zoskupenie, môžete podľa týchto stĺpcov zoskupiť záznamy vo výreze. Na tento účel v ponuke vyhliadka existuje príkaz Skupinové zobrazenie;

2. Ak je zoznam Skupina bol umiestnený iba jeden stĺpec, potom máte možnosť použiť režim zobrazenia Súhrnné zobrazenie(pozri obr. 8.3). Tento režim sa aktivuje pomocou príkazu Súhrnné zobrazenie z rovnakého menu vyhliadka.

Ryža. 8.3. Režim zobrazenia Súhrnné zobrazenie

3. V profileri môžete otvárať udalosti uložené v súboroch a tabuľkách sledovania. Zaprotokolované operácie je tiež možné opakovať pomocou menu Prehrať znova;

4. Informácie o sledovaní môžete prepojiť s počítadlami výkonu nástroja System Monitor. Pre to:

Definujte reláciu sledovania, počas ktorej sa musia zaznamenávať informácie o stĺpcoch Doba spustenia a EndTime;

· Spustite reláciu sledovania so záznamom informácií do súboru alebo tabuľky. Súčasne s ním zbierajte do súboru protokol odpočtov meračov Monitor výkonu;

Otvorte zhromaždené informácie zo súboru sledovania v profileri a potom použite príkaz Importujte údaje o výkonnosti z menu Súbor.

Zdieľajte to