Frågeprestandainsikt för Azure SQL DatabaseQuery Performance Insight for Azure SQL Database

Query Performance Insight ger intelligent frågeanalys för enskilda och poolade databaser.Query Performance Insight provides intelligent query analysis for single and pooled databases. Det hjälper till att identifiera de viktigaste resurskonsumerande och tidskrävande frågorna i din arbetsbelastning.It helps identify the top resource consuming and long-running queries in your workload. Detta hjälper dig att hitta frågor för att optimera för att förbättra den totala arbetsbelastningen prestanda och effektivt använda den resurs som du betalar för.This helps you find the queries to optimize to improve overall workload performance and efficiently use the resource that you are paying for. Frågeprestanda insikt hjälper dig att spendera mindre tid på att felsöka databasprestanda genom att tillhandahålla:Query Performance Insight helps you spend less time troubleshooting database performance by providing:

  • Djupare inblick i förbrukningen av databasresurser (DTU)Deeper insight into your databases resource (DTU) consumption
  • Information om de vanligaste databasfrågorna efter CPU, varaktighet och körning (potentiella justeringskandidater för prestandaförbättringar)Details on top database queries by CPU, duration, and execution count (potential tuning candidates for performance improvements)
  • Möjligheten att öka detaljnivån i information om en fråga, visa frågetexten och historiken för resursutnyttjandetThe ability to drill down into details of a query, to view the query text and history of resource utilization
  • Anteckningar som visar prestandarekommendationer från databasrådgivareAnnotations that show performance recommendations from database advisors

Query Performance Insight

KravPrerequisites

Frågeprestandainsikt kräver att Query Store är aktivt i databasen.Query Performance Insight requires that Query Store is active on your database. Det är automatiskt aktiverat för alla Azure SQL-databaser som standard.It's automatically enabled for all Azure SQL databases by default. Om Query Store inte körs kommer Azure-portalen att uppmana dig att aktivera den.If Query Store is not running, the Azure portal will prompt you to enable it.

Anteckning

Om meddelandet "Query Store inte är korrekt konfigurerat för den här databasen" visas i portalen läser du Optimera konfigurationen för Query Store.If the "Query Store is not properly configured on this database" message appears in the portal, see Optimizing the Query Store configuration.

BehörigheterPermissions

Du behöver följande rollbaserade åtkomstkontrollbehörigheter för att kunna använda Query Performance Insight:You need the following role-based access control permissions to use Query Performance Insight:

  • Läsar-, ägar-, deltagar-, SQL DB-deltagar- eller SQL Server-deltagarbehörigheter krävs för att visa de viktigaste resurskrävande frågorna och diagrammen.Reader, Owner, Contributor, SQL DB Contributor, or SQL Server Contributor permissions are required to view the top resource-consuming queries and charts.
  • Behörigheterför ägare, deltagare, SQL DB Contributoreller SQL Server Contributor krävs för att visa frågetext.Owner, Contributor, SQL DB Contributor, or SQL Server Contributor permissions are required to view query text.

Använda Query Performance InsightUse Query Performance Insight

Query Performance Insight är lätt att använda:Query Performance Insight is easy to use:

  1. Öppna Azure-portalen och hitta en databas som du vill undersöka.Open the Azure portal and find a database that you want to examine.

  2. Öppna Intelligent > prestandainsikt Intelligent Performancepå menyn till vänster .From the left-side menu, open Intelligent Performance > Query Performance Insight.

    Frågeprestandainsikt på menyn

  3. På den första fliken granskar du listan över de mest resurskrävande frågorna.On the first tab, review the list of top resource-consuming queries.

  4. Välj en enskild fråga om du vill visa dess information.Select an individual query to view its details.

  5. Öppnarekommendationer för intelligent prestanda > och kontrollera om det finns några prestandarekommendationer.Open Intelligent Performance > Performance recommendations and check if any performance recommendations are available. Mer information om inbyggda prestandarekommendationer finns i SQL Database Advisor.For more information on built-in performance recommendations, see SQL Database Advisor.

  6. Använd skjutreglage eller zoomikoner för att ändra det observerade intervallet.Use sliders or zoom icons to change the observed interval.

    Instrumentpanel för prestanda

Anteckning

För att SQL Database ska kunna återge informationen i Query Performance Insight måste Query Store samla in ett par timmar data.For SQL Database to render the information in Query Performance Insight, Query Store needs to capture a couple hours of data. Om databasen inte har någon aktivitet eller om Query Store inte var aktivt under en viss period, kommer diagrammen att vara tomma när Query Performance Insight visar det tidsintervallet.If the database has no activity or if Query Store was not active during a certain period, the charts will be empty when Query Performance Insight displays that time range. Du kan aktivera Query Store när som helst om det inte körs.You can enable Query Store at any time if it's not running. Mer information finns i Metodtips med Query Store.For more information, see Best practices with Query Store.

Om du vill ha rekommendationer om databasprestanda väljer du Rekommendationer på navigeringsbladet Query Performance Insight.For database performance recommendations, select Recommendations on the Query Performance Insight navigation blade.

Fliken Rekommendationer

Granska de vanligaste cpu-tidskrävande frågornaReview top CPU-consuming queries

Som standard visar Query Performance Insight de fem mest processorkrävande frågorna när du öppnar den första gången.By default, Query Performance Insight shows the top five CPU-consuming queries when you first open it.

  1. Markera eller avmarkera enskilda frågor om du vill inkludera eller utesluta dem från diagrammet med hjälp av kryssrutor.Select or clear individual queries to include or exclude them from the chart by using check boxes.

    Den översta raden visar den totala DTU-procentsatsen för databasen.The top line shows overall DTU percentage for the database. Staplarna visar CPU-procent som de valda frågorna förbrukas under det valda intervallet.The bars show CPU percentage that the selected queries consumed during the selected interval. Om till exempel Föregående vecka är markerat representerar varje stapel en enda dag.For example, if Past week is selected, each bar represents a single day.

    Vanligaste frågorna

    Viktigt

    Den DTU-rad som visas aggregeras till ett maximalt förbrukningsvärde under en timme.The DTU line shown is aggregated to a maximum consumption value in one-hour periods. Det är avsett för en hög nivå jämförelse endast med fråga körning statistik.It's meant for a high-level comparison only with query execution statistics. I vissa fall kan DTU-användning verka för hög jämfört med utförda frågor, men så kanske inte är fallet.In some cases, DTU utilization might seem too high compared to executed queries, but this might not be the case.

    Om till exempel en fråga maxade ut DTU till 100 % bara för några minuter, visar DTU-raden i Query Performance Insight hela förbrukningstimmen som 100 % (konsekvensen av det maximala aggregerade värdet).For example, if a query maxed out DTU to 100% for a few minutes only, the DTU line in Query Performance Insight will show the entire hour of consumption as 100% (the consequence of the maximum aggregated value).

    För en finare jämförelse (upp till en minut) kan du överväga att skapa ett anpassat DTU-användningsdiagram:For a finer comparison (up to one minute), consider creating a custom DTU utilization chart:

    1. I Azure-portalen > väljer du Azure SQL DatabaseMonitoring.In the Azure portal, select Azure SQL Database > Monitoring.
    2. Välj Mått.Select Metrics.
    3. Välj +Lägg till diagram.Select +Add chart.
    4. Välj DTU-procenten i diagrammet.Select the DTU percentage on the chart.
    5. Dessutom väljer du Senaste 24 timmarna på menyn längst upp till vänster och ändra den till en minut.In addition, select Last 24 hours on the upper-left menu and change it to one minute.

    Använd det anpassade DTU-diagrammet med en finare detaljnivå för att jämföra med frågekörningsdiagrammet.Use the custom DTU chart with a finer level of details to compare with the query execution chart.

    Det nedre rutnätet visar aggregerad information för synliga frågor:The bottom grid shows aggregated information for the visible queries:

    • Fråge-ID, som är en unik identifierare för frågan i databasen.Query ID, which is a unique identifier for the query in the database.
    • CPU per fråga under ett observerbart intervall, vilket beror på aggregeringsfunktionen.CPU per query during an observable interval, which depends on the aggregation function.
    • Varaktighet per fråga, vilket också beror på aggregeringsfunktionen.Duration per query, which also depends on the aggregation function.
    • Totalt antal körningar för en viss fråga.Total number of executions for a specific query.
  2. Om dina data blir inaktuella väljer du knappen Uppdatera.If your data becomes stale, select the Refresh button.

  3. Använd skjutreglage och zoomknappar för att ändra observationsintervallet och undersöka förbrukningsspikar:Use sliders and zoom buttons to change the observation interval and investigate consumption spikes:

    Skjutreglage och zoomknappar för att ändra intervallet

  4. Du kan också välja fliken Anpassad för att anpassa vyn efter:Optionally, you can select the Custom tab to customize the view for:

    • Mått (CPU, varaktighet, körningsantal).Metric (CPU, duration, execution count).
    • Tidsintervall (senaste 24 timmarna, den senaste veckan eller den senaste månaden).Time interval (last 24 hours, past week, or past month).
    • Antal frågor.Number of queries.
    • Aggregeringsfunktion.Aggregation function.

    Fliken Anpassad

  5. Välj knappen Gå > för att se den anpassade vyn.Select the Go > button to see the customized view.

    Viktigt

    Query Performance Insight är begränsad till att visa de 5-20 vanligaste tidskrävande frågorna, beroende på ditt val.Query Performance Insight is limited to displaying the top 5-20 consuming queries, depending on your selection. Databasen kan köra många fler frågor utöver de vanligaste som visas, och dessa frågor kommer inte att inkluderas i diagrammet.Your database can run many more queries beyond the top ones shown, and these queries will not be included on the chart.

    Det kan finnas en databasarbetsbelastningstyp där många mindre frågor, utöver de översta som visas, körs ofta och använder majoriteten av DTU.There might exist a database workload type in which lots of smaller queries, beyond the top ones shown, run frequently and use the majority of DTU. Dessa frågor visas inte i prestandadiagrammet.These queries don't appear on the performance chart.

    En fråga kan till exempel ha förbrukat en betydande mängd DTU ett tag, även om dess totala förbrukning under den observerade perioden är mindre än de andra mest tidskrävande frågorna.For example, a query might have consumed a substantial amount of DTU for a while, although its total consumption in the observed period is less than the other top-consuming queries. I så fall visas inte resursutnyttjandet av den här frågan i diagrammet.In such a case, resource utilization of this query would not appear on the chart.

    Om du behöver förstå de vanligaste frågekörningarna utöver begränsningarna i Query Performance Insight kan du överväga att använda Azure SQL Analytics för avancerad övervakning och felsökning av databasprestanda.If you need to understand top query executions beyond the limitations of Query Performance Insight, consider using Azure SQL Analytics for advanced database performance monitoring and troubleshooting.

Visa information om enskilda frågorView individual query details

Så här visar du frågeinformation:To view query details:

  1. Markera en fråga i listan över de vanligaste frågorna.Select any query in the list of top queries.

    Lista över de vanligaste frågorna

    En detaljerad vy öppnas.A detailed view opens. Den visar cpu-förbrukning, varaktighet och körning räkna över tiden.It shows the CPU consumption, duration, and execution count over time.

  2. Välj diagramfunktioner för mer information.Select the chart features for details.

    • Det översta diagrammet visar en linje med den totala databasen DTU procent.The top chart shows a line with the overall database DTU percentage. Staplarna är den CPU-procentandel som den valda frågan förbrukas.The bars are the CPU percentage that the selected query consumed.
    • Det andra diagrammet visar den totala varaktigheten för den markerade frågan.The second chart shows the total duration of the selected query.
    • Det nedre diagrammet visar det totala antalet körningar av den valda frågan.The bottom chart shows the total number of executions by the selected query.

    Frågeinformation

  3. Du kan också använda skjutreglage, använda zoomknappar eller välja Inställningar för att anpassa hur frågedata visas eller för att välja ett annat tidsintervall.Optionally, use sliders, use zoom buttons, or select Settings to customize how query data is displayed, or to pick a different time range.

    Viktigt

    Query Performance Insight samlar inte in några DDL-frågor.Query Performance Insight does not capture any DDL queries. I vissa fall kanske den inte samlar in alla ad hoc-frågor.In some cases, it might not capture all ad hoc queries.

Granska de vanligaste frågorna per varaktighetReview top queries per duration

Två mått i Query Performance Insight kan hjälpa dig att hitta potentiella flaskhalsar: varaktighet och körningsantal.Two metrics in Query Performance Insight can help you find potential bottlenecks: duration and execution count.

Tidskrävande frågor har störst potential att låsa resurser längre, blockera andra användare och begränsa skalbarheten.Long-running queries have the greatest potential for locking resources longer, blocking other users, and limiting scalability. De är också de bästa kandidaterna för optimering.They're also the best candidates for optimization.

Så här identifierar du tidskrävande frågor:To identify long-running queries:

  1. Öppna fliken Anpassad i Frågeprestandainsikt för den valda databasen.Open the Custom tab in Query Performance Insight for the selected database.

  2. Ändra måtten till varaktighet.Change the metrics to duration.

  3. Välj antalet frågor och observationsintervallet.Select the number of queries and the observation interval.

  4. Välj aggregeringsfunktionen:Select the aggregation function:

    • Sammanfattning summerar all körningstid för frågor för hela observationsintervallet.Sum adds up all query execution time for the whole observation interval.
    • Max hittar frågor där körningstiden var maximal för hela observationsintervallet.Max finds queries in which execution time was maximum for the whole observation interval.
    • Genomsnittligt hittar den genomsnittliga körningstiden för alla frågekörningar och visar de bästa för dessa medelvärden.Avg finds the average execution time of all query executions and shows you the top ones for these averages.

    Varaktighet för fråga

  5. Välj knappen Gå > för att se den anpassade vyn.Select the Go > button to see the customized view.

    Viktigt

    Om du justerar frågevyn uppdateras inte DTU-raden.Adjusting the query view does not update the DTU line. DTU-raden visar alltid det maximala förbrukningsvärdet för intervallet.The DTU line always shows the maximum consumption value for the interval.

    Om du vill förstå databas-DTU-förbrukning med mer information (upp till en minut) kan du överväga att skapa ett anpassat diagram i Azure-portalen:To understand database DTU consumption with more detail (up to one minute), consider creating a custom chart in the Azure portal:

    1. Välj Övervakning av Azure SQL Database > .Select Azure SQL Database > Monitoring.
    2. Välj Mått.Select Metrics.
    3. Välj +Lägg till diagram.Select +Add chart.
    4. Välj DTU-procenten i diagrammet.Select the DTU percentage on the chart.
    5. Dessutom väljer du Senaste 24 timmarna på menyn längst upp till vänster och ändra den till en minut.In addition, select Last 24 hours on the upper-left menu and change it to one minute.

    Vi rekommenderar att du använder det anpassade DTU-diagrammet för att jämföra med frågeprestandadiagrammet.We recommend that you use the custom DTU chart to compare with the query performance chart.

Granska de vanligaste frågorna per körningsantalReview top queries per execution count

Ett användarprogram som använder databasen kan bli långsamt, även om ett stort antal körningar kanske inte påverkar själva databasen och resursanvändningen är låg.A user application that uses the database might get slow, even though a high number of executions might not be affecting the database itself and resources usage is low.

I vissa fall kan ett högt antal körningar leda till fler nätverksresor.In some cases, a high execution count can lead to more network round trips. Tur- och returresor påverkar prestanda.Round trips affect performance. De är föremål för nätverksfördröjning och svarstid för underordnade servrar.They're subject to network latency and to downstream server latency.

Många datadrivna webbplatser har till exempel stor åtkomst till databasen för varje användarbegäran.For example, many data-driven websites heavily access the database for every user request. Även om anslutningspoolning hjälper kan den ökade nätverkstrafiken och bearbetningsbelastningen på databasservern försämra prestanda.Although connection pooling helps, the increased network traffic and processing load on the database server can slow performance. I allmänhet hålla tur och retur till ett minimum.In general, keep round trips to a minimum.

Så här identifierar du ofta utförda ("pratsamma") frågor:To identify frequently executed ("chatty") queries:

  1. Öppna fliken Anpassad i Frågeprestandainsikt för den valda databasen.Open the Custom tab in Query Performance Insight for the selected database.

  2. Ändra måtten till körningsantal.Change the metrics to execution count.

  3. Välj antalet frågor och observationsintervallet.Select the number of queries and the observation interval.

  4. Välj knappen Gå > för att se den anpassade vyn.Select the Go > button to see the customized view.

    Antal frågor om körning

Förstå prestandajusteringsanteckningarUnderstand performance tuning annotations

När du utforskar din arbetsbelastning i Query Performance Insight kanske du märker ikoner med en lodrät linje överst i diagrammet.While exploring your workload in Query Performance Insight, you might notice icons with a vertical line on top of the chart.

Dessa ikoner är anteckningar.These icons are annotations. De visar prestandarekommendationer från SQL Database Advisor.They show performance recommendations from SQL Database Advisor. Genom att hovra över en anteckning kan du få sammanfattad information om prestandarekommendationer.By hovering over an annotation, you can get summarized information on performance recommendations.

Frågeärende

Om du vill förstå mer eller tillämpa rådgivarens rekommendation väljer du ikonen för att öppna information om den rekommenderade åtgärden.If you want to understand more or apply the advisor's recommendation, select the icon to open details of the recommended action. Om detta är en aktiv rekommendation kan du använda den direkt från portalen.If this is an active recommendation, you can apply it right away from the portal.

Information om frågeärende

I vissa fall är det möjligt att anteckningar nära varandra komprimeras till en enda anteckning på grund av zoomnivån.In some cases, due to the zoom level, it's possible that annotations close to each other are collapsed into a single annotation. Query Performance Insight representerar detta som en gruppnoteringsikon.Query Performance Insight represents this as a group annotation icon. Om du markerar gruppanteckningsikonen öppnas ett nytt blad med en lista över anteckningarna.Selecting the group annotation icon opens a new blade that lists the annotations.

Korrelera frågor och prestandajusteringsåtgärder kan hjälpa dig att bättre förstå din arbetsbelastning.Correlating queries and performance-tuning actions might help you to better understand your workload.

Optimera konfigurationen för Query StoreOptimize the Query Store configuration

När du använder Query Performance Insight kan följande felmeddelanden om Query Store visas:While using Query Performance Insight, you might see the following Query Store error messages:

  • "Query Store är inte korrekt konfigurerat i den här databasen."Query Store is not properly configured on this database. Klicka här för att läsa mer."Click here to learn more."
  • "Query Store är inte korrekt konfigurerat i den här databasen."Query Store is not properly configured on this database. Klicka här för att ändra inställningar."Click here to change settings."

Dessa meddelanden visas vanligtvis när Query Store inte kan samla in nya data.These messages usually appear when Query Store can't collect new data.

Det första fallet inträffar när Query Store är skrivskyddat tillstånd och parametrar ställs in optimalt.The first case happens when Query Store is in the read-only state and parameters are set optimally. Du kan åtgärda detta genom att öka storleken på datalagret eller genom att rensa Query Store.You can fix this by increasing the size of the data store, or by clearing Query Store. (Om du avmarkerar Query Store går all tidigare insamlad telemetri förlorad.)(If you clear Query Store, all previously collected telemetry will be lost.)

Information om Query Store

Det andra fallet inträffar när Query Store inte är aktiverat eller parametrar inte är optimalt inställda.The second case happens when Query Store is not enabled, or parameters are not set optimally. Du kan ändra bevarande- och insamlingsprincipen och även aktivera Query Store genom att köra följande kommandon från SQL Server Management Studio (SSMS) eller Azure-portalen.You can change the retention and capture policy, and also enable Query Store, by running the following commands provided from SQL Server Management Studio (SSMS) or the Azure portal.

Det finns två typer av bevarandeprinciper:There are two types of retention policies:

  • Storleksbaserad: Om den här principen är inställd på AUTOrensas data automatiskt när nära maximal storlek har uppnåtts.Size based: If this policy is set to AUTO, it will clean data automatically when near maximum size is reached.
  • Tidsbaserad: Som standard är den här principen inställd på 30 dagar.Time based: By default, this policy is set to 30 days. Om Frågearkivet tar tar det bort utrymme tas frågeinformation som är äldre än 30 dagar bort.If Query Store runs out of space, it will delete query information older than 30 days.

Du kan ställa in infångningsprincipen till:You can set the capture policy to:

  • Alla: Query Store samlar in alla frågor.All: Query Store captures all queries.
  • Auto: Query Store ignorerar sällsynta frågor och frågor med obetydlig kompilering och körningsvaraktighet.Auto: Query Store ignores infrequent queries and queries with insignificant compile and execution duration. Tröskelvärden för körningsantal, kompileringslängd och körningsvaraktighet bestäms internt.Thresholds for execution count, compile duration, and runtime duration are internally determined. Det här är standardalternativet.This is the default option.
  • Ingen: Query Store slutar fånga nya frågor, men körningsstatistik för redan insamlade frågor samlas fortfarande in.None: Query Store stops capturing new queries, but runtime statistics for already captured queries are still collected.

Vi rekommenderar att du ställer in alla principer till AUTO och rensningsprincipen till 30 dagar genom att köra följande kommandon från SSMS eller Azure-portalen.We recommend setting all policies to AUTO and the cleaning policy to 30 days by executing the following commands from SSMS or the Azure portal. (Ersätt YourDB med databasnamnet.)(Replace YourDB with the database name.)

    ALTER DATABASE [YourDB]
    SET QUERY_STORE (SIZE_BASED_CLEANUP_MODE = AUTO);

    ALTER DATABASE [YourDB]
    SET QUERY_STORE (CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 30));

    ALTER DATABASE [YourDB]
    SET QUERY_STORE (QUERY_CAPTURE_MODE = AUTO);

Öka storleken på Query Store genom att ansluta till en databas via SSMS eller Azure-portalen och köra följande fråga.Increase the size of Query Store by connecting to a database through SSMS or the Azure portal and running the following query. (Ersätt YourDB med databasnamnet.)(Replace YourDB with the database name.)

    ALTER DATABASE [YourDB]
    SET QUERY_STORE (MAX_STORAGE_SIZE_MB = 1024);

Om du använder dessa inställningar får du så småningom Query Store att samla in telemetri för nya frågor.Applying these settings will eventually make Query Store collect telemetry for new queries. Om du behöver Query Store för att fungera direkt kan du välja att rensa Query Store genom att köra följande fråga via SSMS eller Azure-portalen.If you need Query Store to be operational right away, you can optionally choose to clear Query Store by running the following query through SSMS or the Azure portal. (Ersätt YourDB med databasnamnet.)(Replace YourDB with the database name.)

Anteckning

Om du kör följande fråga tas alla tidigare insamlade övervakade telemetri bort i Query Store.Running the following query will delete all previously collected monitored telemetry in Query Store.

    ALTER DATABASE [YourDB] SET QUERY_STORE CLEAR;

Nästa stegNext steps

Överväg att använda Azure SQL Analytics för avancerad prestandaövervakning av en stor flotta av enstaka och poolade databaser, elastiska pooler, hanterade instanser och instansdatabaser.Consider using Azure SQL Analytics for advanced performance monitoring of a large fleet of single and pooled databases, elastic pools, managed instances and instance databases.