Power BI Performance Test

Unternehmer und Entscheidungsträger müssen sich tagtäglich mit Zahlen, Daten und Fakten des unternehmerischen Erfolgs auseinandersetzen. Viele greifen dazu auf die Analyseplattform ‘Power BI Desktop’ aus dem Hause Microsoft zurück und lassen sich regelmäßig Berichte zu ihren unternehmerischen Kennzahlen ausgeben. Was wenige wissen – auch die Performance der Power BI Berichtausgabe kann schwanken und beispielsweise in der Browseransicht langsam laden. Wir erklären Ihnen in diesem Artikel, wie Sie einen Power BI Performance Test durchführen und Ihre Berichte einer Leistungsanalyse unterziehen und die Performance auf ein höheres Level anheben. 


Exkurs

Power BI ist ein von Microsoft entwickeltes Self-Service-Analysesystem, das Daten und Sicherheitsrisiken visualisiert auf einem Dashboard aufbereitet. Ziel ist es mit dieser Plattform eine geeignete Übersicht über aktuelle Zahlen, Statistiken und Daten zu erhalten. 

Bevor wir starten… 

In unserem Beitrag verwenden wir Google Chrome als Browser. Je nach Browser können Einstellungen und Optionen variieren. Wir empfehlen daher, den Test mit dem Browser durchzuführen, den Sie vorzugsweise am Meisten nutzen. Nutzen Sie jedoch mehrere Browser, sollten Sie den Test für jeden Browser einzeln durchführen und im Anschluss entsprechende Optimierungen vornehmen. 

1. Wählen Sie die Seite aus, die Sie testen möchten

Wir empfehlen Ihnen, die Seite des Berichts zu testen, die am häufigsten von Ihnen oder wichtigen Benutzern genutzt wird und eine schlechte Performance in Form von beispielsweise einer langen Rendering-Zeit vorweist. 

2. Fügen Sie dem Bericht eine leere Seite hinzu

Fügen Sie vor Veröffentlichung des Berichts eine leere Seite ohne visuelle Elemente hinzu. Diese dient zum Test der Rendering Zeit der leeren Berichtsseite, denn Leistungseinbrüche können je nach Anzahl und Art der Grafiken oder auch dem Datensatzdesign variieren. So haben Sie schon einmal die Rendering-Zeit einer leeren Seite und können dann die ungefähre Dauer der einzeln hinzugefügten Elemente ableiten und testen. Veröffentlichen Sie dann im Nachgang Ihre Berichtsseite. 

3. Rufen Sie die Einbettungs-URL für die Berichtsseite und die leere Seite ab

Nach der Veröffentlichung erhalten Sie eine Einbettungs-URL für die ausgewählte Berichtsseite und die eben erstellte leere Seite. Dafür gehen Sie über den ‚Share‘ Button in der oberen Leiste, wählen ‚Embed report‘ und ‚Website or Portal‘ aus. Im Nachgang erhalten Sie einen sicheren Link zum Einbetten Ihres Berichts. Der Hintergrund dieses Schrittes ist, dass sowohl das Power BI Portal, als auch der Bericht selbst eine gewisse Rendering-Zeit beanspruchen. Um die reine Zeit des Berichts zu ermitteln, lassen wir uns den Einbettungslink erstellen und geben ihn in einer neuen Registerkarte unseres Browsers ein. Somit wird das Portal übergangen und nur der Bericht geladen. 

4. Erstellen Sie ein neues Benutzerprofil in Chrome 

Für die Performance Tests sollten Sie ein neues Benutzerprofil in Chrome erstellen. Dies hat zum Vorteil, dass Sie eventuelle Browser Erweiterungen gezielt wieder löschen können, ohne ihr Hauptprofil damit zu beeinträchtigen. 

5. Führen Sie die Berichtsseite aus, um den SSAS / Power BI Cache zu aktivieren 

Zur Aktivierung des SSAS / Power BI Cache fügen Sie die kopierte Einbettungs-URL in eine neue Registerkarte Ihres Browsers und lassen Sie Ihre Berichtsseite laden. Die Renderleistung ist deutlich performanter bei einem bereits aktivierten Power BI Cache. 

6. Erstellen Sie ein Audit 

Um die exakte Ladezeit zu messen, sollten Sie die Chrome DevTools Anwendung verwenden (Shortcut: Strg + Shift + j). Wählen Sie als Endgerät ‚Desktop‘ und im Bereich ‚Audits‘ die Option ‚Performance‘. Wir entscheiden uns gegen eine Netzwerkdrosselung und starten den Audit. Nach einem kurzen Moment erhalten wir direkt die Ergebnisse der Analyse. Sie sollten nun einen besonderen Augenmerk auf den Bereich „Time to Interactive“ legen. Diese Kennzahl gibt die Rendering-Zeit der gesamten Berichtsseite an. Subtrahieren wir nun die beiden Zeiten (leere Seite und Berichtsseite) voneinander, erhalten wir die Rendering-Dauer der hinzugefügten Elemente in unserer Berichtsseite (Grafiken, Datensatzdesigns etc.). Im Nachgang führen wir den Prozess erneut durch, allerdings dann mit einer Netzwerkdrosselung. Durch die Drosselung werden alle ineffizienten Elemente im Berichtsdesign deutlich. 

7. Verwenden Sie das Network Tab

Zurück in den Chrome DevTools, können Sie über die Registerkarte „Network“ weitere Informationen zur Rendering Zeit Ihrer Berichtsseite einholen. Stellen Sie dabei unbedingt sicher, dass das Kontrollkästchen zur Deaktivierung des Cache mit einem Haken versehen ist. Halten Sie die Aktualisierungstaste in der Browser-Symbolleiste gedrückt, öffnet sich ein Dropdown Menü, in dem Sie aus einem Reload Mechanismus auswählen können. Wählen Sie „Cache leeren und hard reload“ aus, um die Seite zu aktualisieren und den ersten Besuch eines Benutzers im Bericht zu simulieren. Dadurch wird die Datenerfassung automatisch auf dem Network Tab gestartet. 
Ist die Berichtsseite vollständig geladen, klicken Sie die rote Stoppschaltfläche in der oberen, linken Ecke. Ihnen werden nun die Ergebnisse der Analyse angezeigt. Wichtig ist, dass „Finish“ nicht die Zeit ist, die von Beginn bis Ende der Aktualisierung benötigt wurde. Diese Zeit stellt die Dauer vom Start der Aktualisierung bis hin zur letzten Anforderungsänderung dar. Weiter unten sehen Sie dann anhand eines Wasserfalldiagramms, wie lange einzelne Abfragen gedauert gedauert haben.

Sie können nun im Nachgang individuelle Optimierungen vornehmen, die Ihnen beim Rendering Ihrer Seiten zu Gute kommen können. 


Nachdem wir nun herausgefunden haben, wie wir die Rendering-Zeit unserer Berichtsseiten testen können, möchten wir nun anhand eines Beispiels veranschaulichen, wie man die Problemverursacher aufspürt. 

Wir gehen einmal der Annahme nach, dass wir Verkaufsberichte für eine kleine Firma im Einzelhandel erstellen. Wir möchten uns mittels eines Säulendiagramms genauer anschauen, wie sich die angebotenen Produkte verkaufen. Laut Power BI Performance Analyzer lädt unser Bericht angemessen und schnell. Es gibt nichts Auffälliges.. auf den ersten Blick. Wir veröffentlichen unseren Bericht und stellen fest, dass er nach wie vor gut performt. Doch bei mehrmaligem Öffnen kommen die ersten Beschwerden und der Bericht wird immer langsamer. Um der Sache auf den Grund zu gehen, führen wir mit den Chrome DevTools einen Audit mit einer simulierten langsamen 4G Verbindung durch. 

PowerBI Performance Test

Das Ergebnis unterstreicht unsere Vorahnung – 18,1 Sekunden Rendering Zeit sind für diesen kleinen Bericht doch sehr umfangreich. Scrollen wir weiter nach unten, sehen wir die Ursache. Die große JPG-Grafik könnte die Ladezeit extrem verlangsamen. Wir gehen der Sache weiter auf den Grund..

Wechseln wir nun in das Network Tab, aktualisieren wir den Bericht, deaktivieren den Cache und simulieren eine schnellere 3G Verbindung. Dann führen wir das Audit erneut durch und sehen in unserer Auflistung, dass das Laden der JPG-Grafik allein 1,80 Sekunden in Anspruch nimmt. Erst im Anschluss wird das für den Benutzer wichtige Säulendiagramm mit den Verkaufszahlen angezeigt. Die logische Schlussfolgerung für uns → wir entfernen das Hintergrundbild des Diagramms und führen die Analyse nochmals durch. Verringert sich nun die Ladezeit, haben wir einen ersten Verursacher der langen Rendering-Zeit aufgedeckt.

PowerBI Performance Test

Analog diesem Vorgang hangeln wir uns durch alle aufgelisteten „Baustellen“, die uns die DevTools von Google Chrome aufzeigen.