sql >> Databáze >  >> RDS >> Sqlserver

Odstraňování problémů se vstupy/výstupy disku

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!


  1. Jak zjistit minimální hodnotu sloupce v SQL

  2. Hodnota sloupce identity náhle vyskočí na 1001 na serveru SQL

  3. Jak získám desetinná místa při zaokrouhlování průměru v SQL

  4. Dynamický SQL – EXEC(@SQL) versus EXEC SP_EXECUTESQL(@SQL)