sql >> Database teknologi >  >> RDS >> Database

Forespørgselsydeevneindsigt:Opdag, hvad der bruger ressourcer i din Azure SQL-database?

I dette indlæg vil jeg gerne tage et kort kig på Forespørgselsydeevneindsigt — SQL Azure-værktøj, som hjælper dig med at identificere de dyreste forespørgsler i din database.

Query Performance Insights blev annonceret i begyndelsen af ​​oktober 2015. For at forstå, hvad det er, lad os tænke på, hvordan du normalt erfarer, at databasens ydeevne faldt? Sandsynligvis modtager du e-mails fra dine kunder, eller det tager en time at oprette en ugentlig rapport i stedet for flere minutter, eller måske begynder din ansøgning at give undtagelser.

Ny Azure Portal

For at foretage nogle handlinger besøger du portal.azure.com, finder din database på en ressourceliste og begynder at se Overvågningsdiagram:

Ja, der skete noget, DTU sprang til 90%, hvad er det næste? For at se dybere og finde den skyldige, lad os indlæse Query Performance Insight.

Forespørgselsydeevneindsigt

For at starte Query Performance Insight skal du gøre følgende:

1. I portalen skal du gennemse en SQL-database og klikke på Forespørgselsydelsesindsigt.

2. Se på diagrammet for detaljer.
Den øverste linje viser samlet DTU% for databasen, mens søjlerne viser CPU% forbrugt af de valgte forespørgsler i det valgte interval (hvis f.eks. Sidste uge er valgt for hver søjle repræsenterer 1 dag).

Det nederste gitter repræsenterer aggregeret information for de synlige forespørgsler.

  • Gennemsnitlig CPU pr. forespørgsel under observerbart interval.
  • Samlet varighed pr. forespørgsel.
  • Samlet antal udførelser for en bestemt forespørgsel.

Vælg eller ryd individuelle forespørgsler for at inkludere eller ekskludere dem fra diagrammet.

3. Du kan klikke på knappen Opdater i tilfælde af forældede data.
4. For at tilpasse repræsentationen af, hvordan CPU'en bruger data, eller for at vise en anden tidsperiode, skal du klikke på Indstillinger.

Udforsker individuelle forespørgselsdetaljer

Lad os åbne den forespørgsel, der brugte den største mængde CPU'er. Sådan får du vist forespørgselsdetaljer:

1. Klik på en vilkårlig forespørgsel på listen over topforespørgsler.

Detaljevisningen åbnes, og forespørgslerne CPU-forbrug er opdelt over tid. Vi kan se diagrammet for detaljer. Den øverste linje er samlet DTU%, og søjlerne er CPU% forbrugt af den valgte forespørgsel.

2. Analyser dataene for at få detaljerede metrics inklusive varighed, et antal udførelser og ressourceudnyttelsesprocent for hvert interval, forespørgslen kørte.

Optimering af Query Store-konfigurationen til Query Performance Insight

Mens du bruger Query Performance Insight, kan du muligvis se følgende Query Store-meddelelser:

  • "Forespørgselsbutik har nået sin kapacitet og indsamler ikke nye data."
  • "Query Store for denne database er i skrivebeskyttet tilstand og indsamler ikke data om ydeevneindsigt."
  • "Forespørgselslagerparametre er ikke indstillet optimalt til Forespørgselsydeevneindsigt."

De vises grundlæggende, når Query Store ikke er i stand til at indsamle nye data. For at reparere kan du bruge følgende muligheder:

  • Rediger politikken for opbevaring og opsamling af Query Store
  • Forøg størrelsen af ​​Query Store
  • Ryd forespørgselsbutik
  • Anbefalet

Anbefalet politik for opbevaring og registrering

Der er to typer opbevaringspolitikker:
Størrelsesbaseret – AUTO renser data automatisk, når den maksimale størrelse er nået.
Tidsbaseret – Standardværdien er 30 dage. Når Query Store løber tør for plads, vil den slette forespørgselsoplysninger, der er ældre end 30 dage.

Optagelsespolitik kunne indstilles til:
Alle – Standardindstillingen (fanger alle forespørgsler).
Auto – Sjældne forespørgsler og forespørgsler med ubetydelig kompilerings- og eksekveringsvarighed ignoreres. Tærskler for eksekveringstælling, kompilering og kørselstid er internt bestemt.
Ingen – Query Store stopper med at fange nye forespørgsler.

Oversigt

Query Performance Insight giver dig mulighed for at analysere og forstå virkningen af ​​din forespørgselsarbejdsbelastning, og hvordan den relaterer sig til databaseressourceforbrug. Ved at bruge dette værktøj vil du lære om de mest krævende forespørgsler og nemt identificere dem, der skal rettes, før de bliver et problem.

Yderligere læsning:

Query Store:En flydataoptager til din database


  1. Ikke lig <> !=operator på NULL

  2. Sql*plus returnerer altid exit-kode 0?

  3. MySQL-ækvivalent til Oracles SEQUENCE.NEXTVAL

  4. Sådan forberedes sætninger og bindeparametre i Postgresql til C++