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

Odstraňování problémů s docházejícími pracovními vlákny

Vzhledem k tomu, že vaše instance zažívá vyšší provoz spolu se souběžným používáním, může dojít k vyčerpání pracovních vláken potřebných ke zpracování požadavků na relace. To znamená, že relace budou čekat na přiřazení pracovních vláken ke zpracování požadavků. Nejpravděpodobněji by to vedlo ke zpomalení doby zpracování a vedlo by to k setkání s typy čekání, jako je SOS_SCHEDULER_YIELD, THREADPOOL a CXPACKET.

Obvykle je problém způsoben jedním z následujících:

  • Mnoho aktivních připojení
  • Mnoho dlouho běžících dotazů
  • Dotazy využívající paralelismus
  • CPU serveru není dostatečně výkonný pro pracovní zátěž

Nejběžnější opravné prostředky jsou:

  • Snižte počet připojení
  • Identifikujte a vylaďte dlouhotrvající dotazy
  • Identifikujte a vylaďte dotazy s využitím vysokého stupně paralelismu
  • Identifikujte a vylaďte dotazy podle typu čekání CPU
  • Identifikujte a vylaďte dotazy pomocí typu čekání CXPACKET
Alarm SQL – Docházející vlákna služby Spotlight Cloud upozorní uživatele, když instanci docházejí pracovní vlákna pro zpracování požadavků na relaci.


K odstranění problému použijte diagnostické panely Spotlight Cloud:

  1. Snižte počet připojení. Navštivte řídicí panel relací a zjistěte množství aktivity:

  2. Identifikujte a vylaďte dlouhotrvající dotazy:

    A. Pomocí řídicího panelu analyzátoru pracovní zátěže zobrazíte nejlepší SQL podle aktivní doby. Klikněte na dimenzi Příkazy SQL a seřaďte dotazy podle metriky Aktivní čas:


    b. Pomocí řídicího panelu Workload Analyzer můžete zobrazit nejlepší SQL podle stupně paralelismu. Vylaďte dotazy nebo použijte tipy pro dotazy v příkazech dotazu, abyste snížili použití stupně paralelismu.

    I. Zvýrazněte dimenzi Příkaz SQL ve stromu a kliknutím na ikonu hamburgeru otevřete výběr metrik:


    II. Vyhledejte pole Stupeň paralelnosti a povolte jej. Pomocí myši přetáhněte pole směrem k horní části seznamu polí


    III. Seřaďte podle sloupce Stupeň paralelnosti a identifikujte dotazy s nejvyššími vlákny:


    C. Použijte analyzátor pracovní zátěže k filtrování nejlepších SQL podle typu čekání CPU. Klikněte na ikonu typu čekání CPU na banneru a rozbalte dimenzi Příkazy SQL. Podle toho vylaďte dotazy:


    d. Použijte řídicí panel Workload Analyzer k filtrování nejlepších SQL podle jiného typu čekání. Klikněte na ikonu Jiný typ čekání na banneru. Rozbalte dimenzi Příkazy SQL. Použijte podokno Rozdělení zdrojů k identifikaci dotazů s typem čekání CXPACKET. Podle toho vylaďte dotazy:
Vyzkoušejte Spotlight Cloud zdarma!


  1. Jak vyladit výkon SQL Server, Azure SQL Database a Amazon RDS

  2. Jak zobrazit stavové a systémové proměnné v MySQL Workbench pomocí GUI

  3. Najděte v MySQL hodnoty, které neobsahují čísla

  4. SELECT nebo PERFORM ve funkci PL/pgSQL