Trpí váš server nadměrným počtem I/O výstrah? Pokud ano, měli byste se obávat snížení výkonu serveru? Jak nejlépe diagnostikovat základní problém a odstranit překážky I/O?
I/O Stall Time Alarm of Spotlight Cloud je dobrým indikátorem I/O úzkých míst. Zvýší se, když průměrná doba čekání na operaci databázového souboru překročí prahovou hodnotu alarmu. Alarm využívá pro své výpočty data z DMV sys.dm_io_virtual_file_stats. Používá průměrnou hodnotu odvozenou po pěti sběrech za posledních 15 minut, takže nebudete upozorněni na příležitostné výkyvy. Popis alarmu zahrnuje název virtuálního souboru databáze, název databáze a průměrnou dobu čekání na I/O operaci.
Čtyři snadné návrhy pro diagnostiku problémů souvisejících s I/O v Spotlight Cloud:
1. Zkontrolujte, co přispívá ke spotřebě I/O.
Spotřeba I/O je známkou latence diskových subsystémů, která může být způsobena tlakem paměti nebo CPU, špatně zapsanými dotazy nebo nevhodnou kombinací indexů. V době poplachu:
Nejprve využijte panel Vlastnosti na pravé straně stránky Alarmy k zobrazení dat souvisejících s inteligentními alarmy:
1. Podrobnosti o alarmu včetně názvu souboru, průměrné doby čekání na vstup/výstup v souboru a trvání alarmu
2. Analyzujte shromážděná data zobrazená v grafu trendů za posledních několik hodin
Dále diagnostikujte problém stisknutím tlačítka Diagnose. To vás zavede na řídicí panel I/O by File zaměřený na namáhaný soubor. Tento a další řídicí panely můžete použít k další diagnostice:
1. I/O by File – Identifikujte soubory přímo ovlivněné I/O
2. Workload Analyzer – Nejvyšší SQL příkazy a TSQL dávka spotřebovávající nejvíce I/O
3. Relace – Relace v okamžiku aktivity disku
4. Kontrola stavu – Zkontrolujte, zda chybí indexy
2. Zkontrolujte soubory, které čekají na I/O operace.
Řídicí panel I/O by File identifikuje soubory čekající na I/O operace. Prohlédněte si následující I/O statistiky:
1. Poznamenejte si sloupce související s I/O:Rychlosti I/O, Rychlosti čtení/zápisu a Rychlosti čekání
2. Seřaďte soubory podle jejich průměrného čekání na /IO stisknutím modrého rozevíracího seznamu přímo nad sloupcem Logický soubor.
3. Zobrazte aktivitu čtení a zápisu za poslední hodinu vygenerovanou v souboru zobrazeném na panelech vpravo.
4. Volitelně rozšiřte časový rámec a zkontrolujte, zda se jedná o normální chování souboru.
5. Pokud zjistíte, že několik souborů v průběhu času trpí stejným problémem a sdílejí umístění nebo disk, zvažte úpravu jejich umístění a porovnejte IO spor mezi disky nebo umístěními, abyste zmírnili problémy s latencí disku.
6. V případě, že jsou soubory databáze Tempdb významným faktorem, použijte řídicí panel TempDB Usage k zobrazení aktivity v databázi:
A. Soubory databáze Tempdb a jejich statistiky
b. Relace využívající tempdb
C. Nejlepší tabulky a indexy vytvořené v databázi tempdb
3. Najděte příkazy SQL, které mohou provádět velké množství logických I/O.
Ovládací panel Workload Analyzer zobrazuje SQL s nejvyšší spotřebou I/O:
1. Klepněte na prostředek I/O v horním pruhu a rozbalte uzel Příkaz SQL ze stromu dimenzí, abyste zobrazili 25 nejvýznamnějších I/O spotřebovávajících SQL během časového období.
2. Zaměřte se na jeden příkaz a rozbalte panel Vlastnosti příkazu SQL na pravé straně, abyste viděli podrobnosti o SQL a plánu dotazů.
3. Načtěte příkaz SQL do SSMS pomocí možnosti ‚Otevřít v SSMS‘ a použijte nástroj zásuvného modulu Tuning Pack k analýze plánu nebo k přepsání optimálnějšího příkazu.
4. Zaměřte se na uzel ‚Příkaz SQL‘ stromu Dimenzí a vypište příkazy SQL. Seřaďte relace podle IO Wait nebo Logical Reads. Pomocí panelu Porovnat s nadřazeným prvkem vpravo porovnejte čekání na IO jednoho SQL se zbytkem SQL v instanci zabírající IO. Logický I/O může mít za následek zbytečné fyzické I/O.
4. Zkontrolujte, které relace SQL Serveru generují velké množství diskové aktivity.
Řídicí panel relací zobrazuje relace otevřené v instanci. Chcete-li zobrazit relace, které generují velké množství aktivity na disku, zkontrolujte statistiky související s I/O a seřaďte je podle nich.
1. Statistiky související s I/O vás nasměrují správným směrem:Celkový počet I/O, Logická čtení, Fyzická čtení a Požadavek I/O
2. Panel na pravé straně záložky Session zobrazuje další statistiky spolu se základním SQL
Pomocí panelu Tempdb můžete zobrazit relace využívající databázi Tempdb:
1. Použijte řídicí panel Tempdb k identifikaci relací a objektů využívajících databázi
2. Použijte řídicí panel Tempdb Usage k zobrazení všech relací za určité období
Postarejte se o I/O latenci využitím diagnostických možností Spotlight Cloud!