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.