Brug Performance Analyzer til at diagnosticere problemer
Før du kan løse et ydelsesproblem, skal du finde det. Performance analyzer er det primære diagnostiske værktøj indbygget i Power BI til at identificere, hvad der er langsomt i en rapport, og hvorfor. Den måler, hvor lang tid hver visualisering tager at indlæse, og opdeler den tid i kategorier, så du præcist kan finde flaskehalsen.
Open Performance analyzer
I Power BI Desktop skal du vælge båndet Optimize og derefter vælge Performance analyzer. Performance-analysatorpanelet åbner på højre side af rapportlærredet. Når panelet er synligt, er du klar til at begynde optagelsen.
Note
Ydelsesanalysator er også tilgængelig i Power BI-tjeneste. Åbn en rapport i redigeringstilstand, vælg menuen Vis, og vælg derefter Ydelsesanalysator. Tidsopdelingerne og kopieringsforespørgselsfunktionerne fungerer på samme måde.
Registrering og måling af præstation
For at indsamle timing-data følger du disse trin:
- Vælg Start optagelse i Performance analyzer-panelet.
- Interager med rapporten: opdater grafik, juster slicere eller naviger mellem sider.
- Observer de timing-resultater, der vises i realtid for hver visuel effekt.
- Vælg Stop, når du har indsamlet nok data.
Hver interaktion (såsom at ændre en slicer eller opdatere en side) skaber en sektion i panelet. Under hver sektion ser du de enkelte visuelle elementer og deres indlæsningstider.
Tip!
Ryd det visuelle cache, før du måler, for at få nøjagtige resultater. I Power BI Desktop finder du denne mulighed i Performance-analysatorpanelet. Cachede data kan maskere den faktiske forespørgselsydelse, så når du rydder dem, sikrer det, at du måler reel eksekveringstid.
Du kan også måle et enkelt visuelt billede. Når Performance Analyzer optager, vælg ikonet Analyser dette visuelle i øverste højre hjørne af et visualt for at opdatere og indfange dets ydelsesdata individuelt.
Forstå timing-metrikker
Ydelsesanalysatoren opdeler hver visualiserings indlæsningstid i flere kategorier:
| Metrisk | Hvad måler den? |
|---|---|
| DAX-forespørgsel | Tid for det visuelle til at sende en forespørgsel til den semantiske model og modtage resultater. Dette er den mest almindelige flaskehals. |
| Visuel visning | Tid til at visualiseringen vises på skærmen, inklusive hentning af webbilleder eller geokodning. |
| Direkte forespørgsel | Tid for forespørgsler sendt til en ekstern datakilde, når man bruger DirectQuery-lagringstilstand. |
| Diverse | Tid til baggrundsbehandling, inklusive ventetid på at andre visuals bliver færdige, forberedelse af forespørgsler og netværksoverhead. |
Varighedsværdien (ms) repræsenterer den samlede tid fra start til slut for hver operation. Da de fleste operationer udføres sekventielt på en enkelt UI-tråd, kan rapporterede varigheder inkludere tid brugt på at vente i en kø, mens andre visualiseringer afsluttes.
Når du diagnosticerer en langsom rapport, skal du først fokusere på den største bidragyder. Hvis DAX-forespørgselstiden dominerer, ligger problemet i modellen eller målingen. Hvis visuel visningstid er høj, gengiver selve visualiseringen for meget data. Hvis Direct forespørgselstiden er stor, kan den eksterne datakilde eller forespørgselsfoldning være problemet.
Eksportér og analyser DAX-forespørgsler
En af de mest nyttige funktioner i Performance Analyzer er evnen til at udtrække den præcise DAX-forespørgsel, som en visualisering sender til den semantiske model. Dette giver dig mulighed for at analysere, hvorfor en bestemt forespørgsel er langsom.
For at eksportere en DAX-forespørgsel:
- Udvid en visualiserings post i Performance-analysatorpanelet.
- Vælg Kør i DAX-forespørgselsvisning for automatisk at åbne forespørgslen i en ny fane, eller vælg Kopier forespørgsel for at kopiere den til dit udklipsholder.
- I DAX-forespørgselsvisningen skal du køre forespørgslen og gennemgå resultaterne.
Resultatgitteret viser de data, som visualiseringen bruger. Du kan inspicere forespørgselsstrukturen, identificere dyre operationer og teste optimeringer direkte i DAX-forespørgselsvisningen.
DAX-forespørgslen, der genereres af en visuel forespørgsel, er ofte mere udførlig end en håndskrevet forespørgsel. Den inkluderer ekstra VARs, TOPN-wrappers og kolonnereferencer, der understøtter visuel typeskiftning. Hvis Copilot er tilgængeligt, kan det hjælpe med at forenkle forespørgselsstrukturen i DAX-forespørgselsvisningen. Prøv en prompt som "Fjern VAR'erne og TOPN og forenkle denne DAX-forespørgsel."
Note
I Power BI-tjeneste er knappen Kør i DAX forespørgselsvisning ikke tilgængelig. I stedet kopierer du forespørgslen, vælger Open data model for at åbne webmodelleringsoplevelsen, og skifter derefter til DAX-forespørgselsvisning for at indsætte og køre den. Forespørgsler på nettet gemmes ikke, efter du har lukket browseren.
Brug DAX Studio til dybere diagnostik
DAX Studio er et gratis, open source-værktøj, der forbinder til din lokale semantiske model eller til en offentliggjort semantisk model via et XMLA-endpoint. DAX Studio tilbyder funktioner ud over den indbyggede DAX-forespørgselsvisning:
- Servertimings: adskiller forespørgselsudførelsen i formelmotor (FE) og lagringsmotor (SE) tid og viser præcis, hvor motoren lægger sin indsats.
- Forespørgselsplan: viser den logiske og fysiske forespørgselsplan, som hjælper med at identificere ineffektive operationer i komplekse målinger.
- Modelmetrikker: analyserer tabell- og kolonnestørrelser, kardinalitet og komprimeringsstatistikker, så du kan identificere de største bidragydere til modelstørrelsen.
DAX Studio er især nyttigt, når du har brug for engine-level diagnostik, som Performance Analyzer og DAX query view ikke tilbyder, eller når du ikke har adgang til Copilot til forenkling af forespørgsler. Arbejdsgangen er den samme: kopier en DAX-forespørgsel fra Performance Analyzer, indsæt den i DAX Studio og brug servertimings og forespørgselsplaner for at forstå, hvor motoren bruger sin tid.
Fortolk resultater effektivt
Rene tal alene fortæller ikke hele historien. Effektiv diagnose kræver, at resultaterne sammenlignes i kontekst:
- Sammenlign relative tidspunkter på tværs af visuelle elementer. Hvis ét visuelt billede tager 5.000 ms og alle andre under 200 ms, er det ene visuelle billede fokusområdet.
- Identificer flaskehalskategorien. En visuel med 4.800 ms DAX-forespørgselstid og 200 ms visuel visning har et datamodel- eller målingsproblem, ikke et renderingsproblem.
- Test med repræsentative data. Ydelsesmålinger på et udviklingsdatasæt med 1.000 rækker afspejler ikke produktionspræstationen nøjagtigt på et datasæt med 10 millioner rækker.
- Gentag målingerne. En enkelt måling kan påvirkes af caching, netværksvariation eller baggrundsprocesser. Kør målingen flere gange og observer mønsteret.
Overvej dette eksempel: en rapportside har fem visuelle elementer. Efter at have ryddet cachen og opdateret alle visuelle elementer, ser resultaterne sådan ud:
| Visuel | DAX-forespørgsel (ms) | Visuel visning (ms) | Total (ms) |
|---|---|---|---|
| Indtægter efter region (søjlediagram) | 120 | 80 | 200 |
| Månedlig trend (linjediagram) | 150 | 90 | 240 |
| Produktdetalje (tabel) | 4,500 | 300 | 4,800 |
| KPI-kort | 50 | 30 | 80 |
| Topkunder (tabel) | 180 | 110 | 290 |
Produktdetaljetabellen er tydeligvis undtagelsen. Dens DAX-forespørgselstid på 4.500 ms indikerer en dyr foranstaltning eller overdreven dataanmodning. Dit næste skridt er at kopiere forespørgslen, analysere den i DAX-forespørgselsvisningen og afgøre, om problemet er en kompleks beregning, et ineffektivt filtermønster eller for meget data, der returneres.
Bedste praksis for præstationsmåling
Følg disse retningslinjer for at få pålidelige og handlingsorienterede resultater fra Performance Analyzer:
- Ryd den visuelle cache før hver test. Cachede resultater skjuler den reelle forespørgselsudførelsestid.
- Isoler variabler. Skift én ting ad gangen, og mål så igen.
- Test realistiske scenarier. Brug produktionsstørrelse data og typiske filtervalg.
- Dokumentér baselines. Optag timing-resultater før og efter ændringer, så du kan kvantificere forbedring.
- Fokuser på bruger-påvirkende visuelle elementer. Prioriter visuelle elementer på standardlandingssiden og de almindeligt anvendte rapportsider.
Performance analyzer er dit udgangspunkt i fejlfindingsprocessen. Den fortæller dig , hvad der er langsomt, og hvilken kategori (DAX, visual, DirectQuery) bidrager mest. Næste skridt er at løse problemet: at starte med DAX-optimering.