Del via


Visualisering og tolkning av spørringsdiagnose i Power BI

Innledning

Når du har registrert diagnosen du vil bruke, kan neste trinn forstå hva de sier.

Det er nyttig å ha en god forståelse av nøyaktig hva hver kolonne i spørringsdiagnoseskjemaet betyr, som vi ikke kommer til å gjenta i denne korte opplæringen. Det er en fullstendig oppskriving av det her.

Generelt sett, når du bygger visualiseringer, er det bedre å bruke den fullstendige detaljerte tabellen. Fordi uansett hvor mange rader det er, er det du sannsynligvis ser på, en slags skildring av hvordan tiden brukt i forskjellige ressurser legger opp, eller hva den opprinnelige spørringen ble sendt ut.

Som nevnt i vår artikkel om opptak av diagnostikken, arbeider jeg med OData- og SQL-sporingene for den samme tabellen (eller nesten så) – Kunder-tabellen fra Northwind. Spesielt skal jeg fokusere på felles forespørsel fra kundene våre, og en av de enklere å tolke sett med spor: full oppdatering av datamodellen.

Bygge visualiseringene

Når du går gjennom sporinger, finnes det mange måter du kan evaluere dem på. I denne artikkelen skal vi fokusere på en to visualiseringsdeling – én for å vise detaljene du bryr deg om, og den andre for enkelt å se på tidsbidrag fra ulike faktorer. For den første visualiseringen brukes en tabell. Du kan velge hvilke som helst felt du liker, men de som anbefales for et enkelt, høyt nivå, ser på hva som skjer:

For den andre visualiseringen er ett valg å bruke et stablet stolpediagram. I parameteren Akse vil du kanskje bruke ID eller Trinn. Hvis vi ser på Oppdateringen, fordi den ikke har noe å gjøre med trinnene i selve redigeringsprogrammet, vil vi sannsynligvis bare se på ID-en. For forklaringsparameteren bør du angi Kategori eller Operasjon (avhengig av detaljnivået du vil bruke). Angi Eksklusiv varighet for verdien (og kontroller at den ikke er %, slik at du får den rå varighetsverdien). Til slutt, for verktøytipset, angir du Tidligste starttidspunkt.

Når visualiseringen er bygget, må du kontrollere at du sorterer etter at tidligste starttidspunkt er stigende, slik at du kan se rekkefølgen ting skjer i.

Visualisering av detaljer og tidsaggregasjon.

Selv om dine eksakte behov kan variere, er denne kombinasjonen av diagrammer et godt sted å begynne å se på en rekke diagnosefiler og for en rekke formål.

Tolke visualiseringene

Som nevnt ovenfor er det mange spørsmål du kan prøve å svare på med spørringsdiagnose, men de to vi ser oftest spør hvordan tiden brukes, og spør hva spørringen sendte til kilden er.

Det er enkelt å spørre hvordan tiden er brukt, og vil være lik for de fleste koblinger. En advarsel med spørringsdiagnose, som nevnt andre steder, er at du vil se drastisk forskjellige funksjoner avhengig av koblingen. Mange ODBC-baserte koblinger vil for eksempel ikke ha en nøyaktig registrering av hvilken spørring som sendes til det faktiske baksystemet, da Power Query bare ser hva den sender til ODBC-driveren.

Hvis vi vil se hvordan tiden er brukt, kan vi bare se på visualiseringene vi bygget ovenfor.

Nå, fordi tidsverdiene for eksempelspørringene vi bruker her, er så små at hvis vi vil arbeide med hvordan Tiden for Power BI rapporterer, er det bedre hvis vi konverterer kolonnen Eksklusiv varighet til Sekunder i redigeringsprogrammet for Power Query. Når vi har gjort denne konverteringen, kan vi se på diagrammet vårt og få et anstendig inntrykk av hvor tiden er brukt.

For mine OData-resultater ser jeg på bildet at mesteparten av tiden ble brukt til å hente dataene fra kilden – hvis jeg velger datakildeelementet i forklaringen, viser det meg alle de forskjellige operasjonene som er relatert til å sende en spørring til datakilden.

Sammendrag av OData Northwind-spørringsdiagnose.

Hvis vi utfører alle de samme operasjonene og bygger lignende visualiseringer, men med SQL-sporingene i stedet for ODATA-ene, kan vi se hvordan de to datakildene sammenligner!

OData Northwind Query Diagnostics Summary med SQL-sporinger.

Hvis vi velger datakildetabellen, som med ODATA-diagnostikken, kan vi se at den første evalueringen (2.3 i dette bildet) avgir metadataspørringer, og den andre evalueringen henter faktisk dataene vi bryr oss om. Fordi vi henter små mengder data i dette tilfellet, tar dataene som trekkes tilbake en liten tidsperiode (mindre enn en tiendedel av et sekund for at hele den andre evalueringen skal skje, med mindre enn en tjuende del av et sekund for selve datahentingen), men det vil ikke være sant i alle tilfeller.

Som ovenfor kan vi velge kategorien Datakilde i forklaringen for å se de sendte spørringene.

Grave i dataene

Se på baner

Når du ser på dette, hvis det virker som tiden er brukt, for eksempel på OData-spørringen, kan det hende du ser at det finnes en datakildespørring med følgende verdi:

Request:
https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle%20eq%20%27Sales%20Representative%27&$select=CustomerID%2CCountry HTTP/1.1
Content-Type: application/json;odata.metadata=minimal;q=1.0,application/json;odata=minimalmetadata;q=0.9,application/atomsvc+xml;q=0.8,application/atom+xml;q=0.8,application/xml;q=0.7,text/plain;q=0.7

<Content placeholder>

Response:
Content-Type: application/json;odata.metadata=minimal;q=1.0,application/json;odata=minimalmetadata;q=0.9,application/atomsvc+xml;q=0.8,application/atom+xml;q=0.8,application/xml;q=0.7,text/plain;q=0.7
Content-Length: 435

<Content placeholder>

Denne datakildespørringen er knyttet til en operasjon som bare tar opp, for eksempel 1 % av alenevarigheten. I mellomtiden er det en lignende:

Request:
GET https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry HTTP/1.1

Response:
https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry
HTTP/1.1 200 OK

Denne datakildespørringen er knyttet til en operasjon som tar opp nesten 75 % av den eksklusive varigheten. Hvis du slår på Banen, oppdager du at sistnevnte faktisk er et barn av den tidligere. Dette betyr at den første spørringen i utgangspunktet la til en liten tidsperiode på egen hånd, med den faktiske datahentingen som spores av den indre spørringen.

Dette er ekstreme verdier, men de er innenfor grensene for det som kan sees.