SQL szerver mélyebbre ásni, hogy megértsük, miért a termelékenység csökken, a TechNet magazin

Több olyan taktika meghatározni, hogy milyen gyakran okoz SQL Server elvárásoknak, így kitalálni, hogy melyik irányba, hogy optimalizálja a teljesítményt.

Glenn Berry (Glenn Berry), Louis Davidson (Louis Davidson) és Tim Ford (Tim Ford)

  • DMO wait_stats mutatja, hogy milyen események várnak OS kapcsolatos pénzáramok SQL Server.
  • performance_counters mutatja teljesítményszámlálókat SQL Server, és hogy a terpreted.
  • ring_buffers, ütemezı wait_stats kapnak értesítést járó problémák a használata a processzor.
  • sys_info jellegzetességeit mutatja a számítógépen fut az SQL Server.
  • sys_memory process_memory és bemutatják, hogyan kell használni a memória egészét.
  • memory_cache_counters vagy buffer_descriptors megmutatja, hogyan kell használni a gyorsítótárat.

Elvárások SQL Server

Ugyanebben bemutatkozó kijelzők teljesítmény számláló adatait (PerfMon), amelyek konkrét információkat a felhasználása (adatátviteli sebesség a lemezről, CPU időt használt, stb.) Statisztikák összehasonlítjuk elvárások mérése erőforrások felhasználása, gyorsan megtalálja a forrásokat a rendszer, amelynek van legnagyobb verseny, és a potenciális szűk keresztmetszetek.

Elvárások és sorban

Task Scheduler - egyenletesen oszlatja el a terhelést közül a rendelkezésre álló munkafolyamatokat. Ha a bizottsági ülés áramlási processzor által végrehajtott, a munkamenet-állapotot (oszlopban feltüntetett állapot DMV sys.dm_exec_requests) a futás.

Ha a szál kész arra, hogy futni, de az ütemező, amelyhez hozzá van rendelve, jelenleg végző másik ülésen flow várakozó szál futásra kész (futtatható). Ez egyszerűen azt jelenti, hogy ő a sorban hozzáférést a processzor. Ezt nevezik a várakozás jel (signal várakozás).

Várakozás egy jel

Készenléti idő a jel megjelenik az oszlop signal_wait_time_ms. Ez tükrözi, csak a CPU várakozási idő. Ha a munkát vár elérhetővé válik egy másik forrás, például egy lezárt oldalon, vagy ha az ülésen végre kell hajtani a bemeneti és kimeneti, akkor átkerül a várólistára. Ez az elvárás az erőforrások, és a helyzetét a folyamatban lévő munkamenet úgy emlékeznek, mint a «felfüggesztett». Ennek oka az, várakozó menti és megjelenik az oszlop wait_type DMV sys.dm_os_wait_stats.

A teljes várakozási idő jelenik wait_time_ms oszlop, így lehet számítani az erőforrás várakozási idő az alábbiak szerint:

Resources Elvárás = Teljes várakozási idő - Készenléti idő jelek (Vagy (wait_time_ms) - (signal_wait_time_ms))

Elvárások jelek elkerülhetetlen OLTP rendszerek (online tranzakció-feldolgozás, az online tranzakció feldolgozó rendszerek), mivel előfordulhat nagy mennyiségű rövid tranzakciót. Mutatószám leírására potenciális terhelés a processzort, - és ez az arány várva a jelet, amely a teljes várakozási idő.

A nagy százaléka azt jelenti, hogy a CPU terhelés alatt. Gyakran előfordul, hogy a „nagy százalékban” kifejezés több mint 25 százalékkal, de ez függ a rendszer. Nél nagyobb érték 10-15 százalékát - van ok az aggodalomra. Általában statisztikai elvárások - kiváló eszköz diagnosztizálására válaszideje a rendszer. Apropó a legegyszerűbb szavakkal, akkor vagy dolgozik, vagy várakozik.

Ha a válasz idő túl hosszú, és láthatjuk, hogy a várakozások nem jelentős időt vesz igénybe, vagy többnyire vár jelek, szükséges, hogy összpontosítson a processzor. Ha látja, hogy a válaszidő, amelyek főleg a várakozási idő más források (például a hálózati bemenet és kimenet, stb), akkor kell összpontosítania felhasználásának optimalizálása ezeket a forrásokat.

Profilírozó optimális teljesítmény

Ez az egyszerű lekérdezés kiszámítja a százalékos aránya között, a várakozási időt jeleket, és a várakozási idő források a teljes várakozási idő, diagnosztizálására potenciális CPU:

Ha az SQL Server példány fut egy hosszú idő, és van egy jelentős változás, mint a hozzá egy fontos új indexet kell vennie eltávolítjuk a régi statisztikákat. Egyébként a régi összesített statisztikát elrejteni a hatását a változtatásokat a várakozási idő.

A második minta script (1.) Azt mutatja, hogyan kell használni a DMV sys.dm_os_wait_stats meghatározni, hogy milyen erőforrásokat vár SQL Server tölti a legtöbb időt.

Ábra. 1. Ez a szkript egy jelentést a fő oka a várakozásokat

A forgatókönyv látható. 1 lehetővé teszi, hogy a főbb szűk keresztmetszeteket a példány szinten. Ez lehetővé teszi, hogy összpontosítson optimalizálási erőfeszítések bizonyos típusú problémák. Például, ha az első helyen szerint a felhalmozott statisztikák elfoglalni kapcsolatos elvárások a lemez input-output, meg kell, hogy további vizsgálat ezt a problémát, kihasználva a DMV-lekérdezések és PerfMon számlálók kapcsolatos lemezeket.

teljesítmény számlálók

DMV, mutatja a számláló adatokat PerfMon - sys.dm_os_performance_counters. Ez adja vissza a bejegyzés minden egyes teljesítmény számláló által fenntartott szerveren. Ez hasznos a DMV, de talán ez nem világos, hogyan kell használni.

A forgatókönyv látható. 2 gólpassz a vizsgálatban a szokatlan helyzetekben való feltöltésekor a tranzakciós napló. Ez visszaadja a helyreállítási modell leírását okozó tényezők a késedelem log csonkolás (log újrahasználat várakozás), a méret a tranzakciós napló, használja a log tér, a százalékos használt terület, a kompatibilitás szintjén és a szkennelési beállításokat oldalak minden adatbázis, SQL Server adatok az aktuális példányt.

Ábra. 2. Határozza meg, hogy a tranzakciós napló tele van, ezzel a script

Kérjen ábra. 2. hasznos becslésére Ismeretlen szerver adatbázisokat. Ezen kívül még hasznos nyomon követése szempontjából. Például, ha a leírás az akadályozó tényezők napló csonkolása, van néhány szokatlan értékeket, mint például ACTIVE_TRANSACTION, a tranzakciós log 85 százaléka az idő ébreszteni.

Ez a megfigyelés rendkívül hasznos források meghatározása és okait elvárások és egyéb teljesítmény problémákat. Ezek a vizsgálatok segíthetnek a kód optimalizálása érdekében a termelékenység a helyes irányba.

Glenn Berry (Glenn Berry) - fut egy adatbázis építész NewsGator Technologies Denver, Colorado. Ő a címe MVP SQL Server, és egy sor Microsoft minősítések, beleértve MCITP, MCDBA, MCSE, MCSD, MCAD és az MCT, ami azt jelenti, hogy ő nagyon szereti, hogy a minősítő vizsga.

Louis Davidson (Louis Davidson) - dolgozik IT több mint 16 éve, mint a fejlesztő és az építész a vállalati adatbázisok. Viselt cím SQL Server MVP hat év, és írt négy könyvet az adatbázis megtervezésére. Ő jelenleg részt vesz a fejlesztési adatbázis architektúra és adatbázis adminisztráció egy kicsit Christian Broadcasting Network, munkájának támogatása az ágak a város Virginia Beach, Virginia, és a város a Nashville, Tennessee.

További információ a «SQL Server DMV Starter Pack» red-gate.com üzemel.