sql >> Database >  >> RDS >> Sqlserver

Problemen oplossen wanneer er geen werkthreads meer zijn

Aangezien uw instantie meer verkeer ervaart en gelijktijdig gebruik wordt, kan het zijn dat er geen werkthreads meer zijn die nodig zijn om sessieverzoeken te verwerken. Dit betekent dat sessies wachten op de toewijzing van werkthreads om de verzoeken te verwerken. Dit zou hoogstwaarschijnlijk leiden tot langzamere verwerkingstijden en resulteren in het tegenkomen van wachttypen zoals SOS_SCHEDULER_YIELD, THREADPOOL en CXPACKET.

Meestal wordt het probleem veroorzaakt door een van de volgende:

  • Veel actieve connecties
  • Veel langlopende zoekopdrachten
  • Query's met parallellisme
  • Server-CPU niet krachtig genoeg voor de werklast

De meest voorkomende remedies zijn:

  • Verminder het aantal verbindingen
  • Identificeer en stem langlopende zoekopdrachten af
  • Identificeer en stem zoekopdrachten af ​​met gebruik van een hoge mate van parallellisme
  • Identificeer en stem zoekopdrachten af ​​met het CPU-wachttype
  • Identificeer en stem zoekopdrachten af ​​met het CXPACKET-wachttype
Het alarm SQL - Geen threads meer van Spotlight Cloud waarschuwt de gebruiker wanneer de actieve threads opraken om sessieverzoeken te verwerken.


Gebruik de diagnostische dashboards van Spotlight Cloud om het probleem op te lossen:

  1. Verminder het aantal verbindingen. Ga naar het Sessies-dashboard om de hoeveelheid activiteit te bepalen:

  2. Identificeer en stem langlopende zoekopdrachten af:

    a. Gebruik het Workload Analyzer-dashboard om de beste SQL per actieve tijd te bekijken. Klik op de dimensie SQL-statements en sorteer query's op Actieve tijd-statistiek:


    b. Gebruik het Workload Analyzer-dashboard om de top-SQL per mate van parallellisme te bekijken. Stem query's af of gebruik queryhints in query-instructies om het gebruik van parallellisme te verminderen.

    I. Markeer de dimensie SQL-instructie in de structuur en klik op het hamburgerpictogram om de metrische gegevenskiezer te openen:


    II. Zoek het veld Mate van parallellisme en schakel het in. Gebruik de muis om het veld naar de bovenkant van de lijst met velden te slepen


    III. Sorteer op de kolom Mate van parallellisme om zoekopdrachten met de hoogste threads te identificeren:


    c. Gebruik de Workload Analyzer om de bovenste SQL te filteren op CPU-wachttype. Klik op het pictogram CPU-wachttype op de banner en vouw de dimensie SQL-statements uit. Stem zoekopdrachten dienovereenkomstig af:


    d. Gebruik het Workload Analyzer-dashboard om de bovenste SQL te filteren op Ander wachttype. Klik op het pictogram Ander type wacht op de banner. Vouw de dimensie SQL-statements uit. Gebruik het deelvenster Resource-uitsplitsing om query's met het CXPACKET-wachttype te identificeren. Stem zoekopdrachten dienovereenkomstig af:
Probeer Spotlight Cloud gratis!


  1. Oracle's standaard datumnotatie is JJJJ-MM-DD, WAAROM?

  2. SQL Server verbinden met Oracle

  3. Hoe kan ik een lijst maken Array met de cursorgegevens in Android

  4. SQL Server:maak alle HOOFDLETTERS tot juiste hoofdletters/titels