sql >> Databasteknik >  >> RDS >> Sqlserver

Förstå Workload Analyzer för att kartlägga prestandaflaskhalsar

När en användare eller applikation gör förfrågningar till en databas, förbrukar den resurser på det systemet. När antalet förfrågningar ökar kan du uppleva resursväntningar. Dessa väntan leder till prestandaflaskhalsar och, i fallet med molndistribuerade databaser, extra månatliga kostnader! När man diagnostiserar prestandaflaskhalsar är det första steget att förstå vilka resurser som påverkas.

Att kunna mappa en prestandaflaskhals tillbaka till en specifik resursväntning, sedan till specifik kod och slutligen till en specifik användares arbetsbelastning kommer att göra det möjligt för dig att komma till rotorsaken och lösa flaskhalsen permanent.

Till exempel kan du upptäcka att en applikation kör långsamt eftersom CPU:n är överkonsumerad på databasservern eftersom Matt på inköpsavdelningen kör en lagerrapport i anläggningsdatabasen.

Spotlight Clouds Workload Analyzer är verktyget som gör detta möjligt med sin användarvänliga navigering.

Hur man använder Spotlight Clouds Workload Analyzer

Till att börja med kan du välja tidsram av intresse. Spotlight Cloud lagrar ett års data, så att du kan gå tillbaka till valfri tidpunkt eller tidsintervall under det senaste året.

Då har du möjlighet att filtrera efter resurs. Om du till exempel vet att problemet är CPU-relaterat kan du välja CPU-resurs. Om du gör det filtreras informationen som är relaterad till alla andra resurser, såsom I/O, lås och minne bort, vilket effektivt eliminerar det vita bruset och gör det lättare att komma till grundorsaken.

Workload Analyzer Standardsida

Borra i databasens dimension och den kommer att ordna de bästa databaserna som förbrukar mest resurser från hög till låg och skugga dem på motsvarande sätt. Denna sorteringsmekanism bevaras genom varje iteration av en drilldown.

Drillning i databasdimensionen

Dessutom bör du borra i säljdatabasen eftersom det är viktigt att veta vad väntandenas beteende är inom den mest konsumerande databasen specifikt. I det här exemplet verkar det som att den största delen av arbetsbelastningen stod för av CPU (45,7 procent) och I/O-resurser (30,2 procent), och deras hastigheter ligger nära 0,48 sek/s och 0,43 sek/s.

Drillning i säljdatabasdimensionen

Parallellt kommer att välja CPU filtrera bort de andra resurserna och ge en anpassad, endast CPU-avläsning. Möjligheten att isolera en specifik arbetsbelastning är användbar eftersom den visuellt skärmar bort distraherande mätvärden, så att du bara kan fokusera på det som har företräde. Dessutom kan prestandaindikatorer ritas ovanpå varandra så att du visuellt kan se korrelationer.

Nyckelprestandaindikatorer filtrerade endast för CPU-statistik

Borra sedan ner i T-SQL-satser. Detta gör att vi kan ta reda på vilka partier i försäljningsdatabasen som är mest belastande.

Drillning i T-SQL-batcherna

Eftersom denna batch är mycket CPU-intensiv, är det viktigt att veta vilka frågor inom den batchen som fungerar som boven för den extra kostnaden. Att använda T-SQL-texten i samband med exekveringsplanen visar att Sorteringsoperatorn är skyldig. SQL Optimizer förutspår att den uppskattade avgiften är 97 procent. Att lägga till ett index kan hjälpa till att optimera prestandan.

T-SQL-uttalanden

Utförandeplan och kostnadsanalys av utförda operationer

Observera att resursväljaren kan konfigureras för att markera en resurs när dess användning överskrider en fördefinierad tröskel. Du kan till exempel ställa in väljaren för att markera I/O-resurser om väntan är mer än 30 procent.

Justera resursväljarkonfigurationer för I/O-resurser

Uppdaterade konfigurationer för I/O-resursväljare tillämpas


  1. 10 fakta om övervakning av databasprestanda som kan överraska dig

  2. Utveckling av feltolerans i PostgreSQL:Synchronous Commit

  3. Returnera en lista över database-postprofiler i SQL Server (T-SQL)

  4. 6 problemfrågor som kraftigt saktar ner din databas