Przygotowując raporty, skupiamy się nie tylko na tym, by niosły ze sobą odpowiednie informacje czy też przekazywały je w czytelny sposób. Ważny jest również, szczególnie z punktu widzenia użytkownika końcowego, czas w jakim dane są gotowe do odczytania. Czyli walka o tzw. “performance.”
Od maja 2019 w Power BI dostępna jest funkcjonalność Performance Analyzer (po polsku trochę gorzej brzmiący Analizator wydajności) , która w walce o poprawę wydajności niezwykle pomaga. W jaki sposób zbadać, co spowalnia nasz raport?
Gdzie znaleźć Analizator wydajności?
Znajduje się na karcie Widok > Analizator wydajności.
Do czego służy Analizator wydajności?
Pozwala zidentyfikować operacje wykonywane “na raporcie” podczas interakcji użytkownika z raportem. Sumuje czasy wykonywania poszczególnych operacji dla każdej z wizualizacji, pozwalając na porównanie czasów ich trwania. Zebrane dane można również pobrać i poddać dalszej analizie, ponieważ zawierają dużo bardziej szczegółową informację dotyczącą wykonanych operacji. Daje również możliwość skopiowania zapytań DAX generowanych podczas odświeżania wizualizacji.
Powiązanie działań użytkownika a wizualizacji i zapytań, podstawowe informacje
Po uruchomieniu Analizatora wydajności po prawej stronie pojawi się dedykowany mu panel, z kolejnymi funkcjonalnościami.
Aby sprawdzić wydajność na początku należy wybrać przycisk Rozpocznij nagrywanie, co uruchomi rejestrację kolejnych zdarzeń i ich pomiar. By wywołać jakieś akcje możliwe do zarejestrowania, wystarczy wykonać działania na raporcie lub wybrać Odśwież wizualizacje, co w efekcie spowoduje odświeżenie wszystkich wizualizacji na aktualnej karcie raportu.
Po wybraniu Odśwież wizualizacje, wygenerowana zostanie lista odświeżonych wizualizacji wraz z czasem ich trwania. Całą listę można wygodnie posortować, według widocznych na poniższym screenie kategorii.
Często korzystając z listy elementów Analizatora wydajności trudno odgadnąć, z którą wizualizacją mamy do czynienia, więc warto je nazywać. Z panelu Wybór.
Możemy też wybrać dany element z widoku raportu, a zostanie podświetlony na liście w Analizatorze wydajności i na odwrót.
Warto pamiętać o tym, że jeżeli nie zatrzymamy nagrywania w Analizatorze, wówczas każde działanie zostanie „nagrane” i odzwierciedlone w analizie. Co po pewnym czasie może wygenerować dość długą listę…
Jednak nie ma się czym martwić bo listę (warto pamiętać, że całą) można wyczyścić przy pomocy przycisku „Wyczyść” .
Bardzo przydatną opcją jest możliwość zmierzenia wydajności jednej wybranej wizualizacji, poprzez wybranie przycisku Odśwież tę wizualizację , opcja ta jest możliwa jedynie w momencie kiedy widoczny jest panel Analizatora wydajności.
Szczegółowe informacje dotyczące Analizatora Wydajności
Czas generowania/odświeżania danej wizualizacji jest mierzony na różnych płaszczyznach :
- Zapytanie DAX – czas potrzebny na otrzymanie wyniku zapytania DAX towarzyszącego danej wizualizacji
- Wyświetlenie elementu wizualnego – czas potrzebny na utworzenie wizualizacji opartej na kalkulacji DAX
- Inne – czas oczekiwania na wygenerowanie innych wizualizacji, można nazwać to czasem oczekiwania w kolejce na wygenerowania innych wizualizacji
Opcja, która pozostała jeszcze do omówienia, to Kopiuj zapytanie. Pozwala na przechwycenie zapytania, które towarzyszy wygenerowaniu danej wizualizacji.
Wyniki Analizatora wydajności, czyli całą listę operacji wraz z czasami, również możemy wyeksportować do pliku .json przy pomocy przycisku Eksportuj. A w kolejnych krokach wykorzystać jako źródło do wizualizacji w Power BI i zaprezentować wyniki wydajności w raporcie.
Na ciekawe aspekty wyników otrzymanych w Analizatorze wydajności zwraca również uwagę Seequality, a mianowicie:
- wykorzystanie cache przy odświeżaniu wizualizacji, co może zaburzać prawidłowość otrzymanych wyników w Analizatorze
- synchronizacja slicerów pomiędzy stronami raportu, które również wpływają na czas odświeżenia wizualizacji, co widać w części Inne.
Podsumowanie
Analizator wydajności jest bardzo przydatnym narzędziem, pozwalającym na rozpoczęcie pracy z optymalizacją tworzonego przez nas raportu, ale też łatwe jej sprawdzenie. Szybko wskazuje miejsca, gdzie może być problem z wydajnością i daje możliwość wyeksportowania wyników analiz. Warto jednak pamiętać o takich kruczakach jak część Inne czy mierzenie wydajności bez wyczyszczenia cache. Dla ciekawskich Microsoft udostępnił dodatkowe informacje na GitHubie.