I det här inlägget skulle jag vilja ta en kort titt på Query Performance Insight — SQL Azure-verktyg som hjälper dig att identifiera de dyraste frågorna i din databas.
Query Performance Insights tillkännagavs i början av oktober 2015. För att förstå vad det är, låt oss fundera på hur du brukar veta att databasprestandan försämrades? Förmodligen får du e-postmeddelanden från dina kunder eller så tar det en timme att skapa en veckorapport istället för några minuter, eller så kanske din ansökan börjar ge undantag.
Ny Azure Portal
För att vidta några åtgärder besöker du portal.azure.com, hittar din databas i en resurslista och börjar titta på Övervakningsdiagram:
Ja, något hände, DTU hoppade till 90%, vad händer härnäst? För att titta djupare och hitta den skyldige, låt oss ladda Query Performance Insight.
Frågeprestandainsikt
För att starta Query Performance Insight, gör följande:
1. Bläddra till en SQL-databas i portalen och klicka på Query Performance Insight.
2. Titta på diagrammet för detaljer.
Översta raden visar total DTU% för databasen, medan staplarna visar CPU% som förbrukats av de valda frågorna under det valda intervallet (till exempel om Förra veckan är valt varje stapel representerar 1 dag).
Det nedre rutnätet representerar aggregerad information för de synliga frågorna.
- Genomsnittlig CPU per fråga under observerbart intervall.
- Total längd per fråga.
- Totalt antal körningar för en viss fråga.
Välj eller rensa enskilda frågor för att inkludera eller exkludera dem från diagrammet.
3. Du kan klicka på Uppdatera-knappen om det är inaktuella data.
4. För att anpassa representationen av hur CPU förbrukar data, eller för att visa en annan tidsperiod, klicka på Inställningar.
Utforska individuella frågor
Låt oss öppna frågan som använde den största mängden processorer. Så här visar du frågeinformation:
1. Klicka på valfri fråga i listan över vanligaste frågor.
Detaljvyn öppnas och frågorna CPU-förbrukning bryts ner över tiden. Vi kan se diagrammet för detaljer. Den översta raden är totalt DTU%, och staplarna är CPU% som förbrukas av den valda frågan.
2. Analysera data för att få detaljerad statistik inklusive varaktighet, ett antal körningar och resursutnyttjande i procent för varje intervall som frågan kördes.
Optimera Query Store-konfigurationen för Query Performance Insight
När du använder Query Performance Insight kan du se följande Query Store-meddelanden:
- "Frågebutiken har nått sin kapacitet och samlar inte in ny data."
- "Query Store för den här databasen är i skrivskyddat läge och samlar inte in prestandainsiktsdata."
- "Query Store-parametrar är inte optimalt inställda för Query Performance Insight."
De visas i princip när Query Store inte kan samla in ny data. För att reparera kan du använda följande alternativ:
- Ändra lagrings- och fångstpolicyn för Query Store
- Öka storleken på Query Store
- Rensa Query Store
- Rekommenderas
Rekommenderad policy för lagring och fångst
Det finns två typer av lagringspolicyer:
Storleksbaserad – AUTO rensar data automatiskt när den når maximal storlek.
Tidsbaserad – Standardvärdet är 30 dagar. När Query Store tar slut på utrymme kommer den att radera frågeinformation som är äldre än 30 dagar.
Insamlingspolicy kan ställas in på:
Alla – Standardalternativet (fångar alla frågor).
Auto – Sällsynta frågor och frågor med obetydlig kompilerings- och exekveringstid ignoreras. Tröskelvärden för antal körningar, kompilering och körtid bestäms internt.
Inga – Query Store slutar fånga nya frågor.
Sammanfattning
Query Performance Insight låter dig analysera och förstå effekten av din frågebelastning och hur den relaterar till databasresursförbrukning. Genom att använda det här verktyget kommer du att lära dig om de mest krävande frågorna och enkelt identifiera de som ska åtgärdas innan de blir ett problem.
Mer läsning:
Query Store:En flygdataregistrator för din databas