Monitorowanie i optymalizowanie wydajności lokalnej bramy danych
Monitorowanie wydajności bramy (publiczna wersja zapoznawcza)
Aby monitorować wydajność, administratorzy bramy tradycyjnie polegali na ręcznym monitorowaniu liczników wydajności za pośrednictwem narzędzia monitor wydajności systemu Windows. Teraz oferujemy dodatkowe rejestrowanie zapytań i plik szablonu PBI wydajności bramy w celu wizualizacji wyników. Ta funkcja zapewnia nowy wgląd w użycie bramy. Można go użyć do rozwiązywania problemów z wolno działającymi zapytaniami.
Uwaga
Ta funkcja jest obecnie dostępna tylko dla lokalnej bramy danych w trybie standardowym. Tryb osobisty jest niedostępny.
Uwaga
Diagnostyka bramy nie przechwytuje diagnostyki bezpośrednio związanej z maszyną wirtualną i jej siecią, na przykład przepustowości lub opóźnieniami. Jednak ta diagnostyka może mieć wpływ na wydajność bramy. Do monitorowania maszyny można użyć narzędzi do monitorowania zasobów.
Rejestrowanie wydajności
Ta funkcja jest teraz domyślnie włączona.
Uwaga
- Obecnie zapytania z pojemności Premium do bramy są czasami pomijane w tym rejestrowaniu. Aktywnie pracujemy nad rozwiązaniem tego problemu.
- Obecnie zapytania dotyczące raportów podzielonych na strony w usłudze Power BI nie są rejestrowane przy użyciu tego narzędzia.
Konfigurowanie rejestrowania wydajności
W pliku C:\Program Files\On-premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config
konfiguracji istnieją inne wartości, które można zaktualizować zgodnie z potrzebami:
- ReportFilePath: określa ścieżkę, w której są przechowywane cztery pliki dziennika. Domyślnie ta ścieżka to \Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report lub \Windows\ServiceProfiles\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report. Ścieżka zależy od wersji systemu operacyjnego. Jeśli używasz konta usługi dla bramy innej niż PBIEgwService, zastąp tę część ścieżki nazwą konta usługi.
- ReportFileCount: określa liczbę plików dziennika każdego rodzaju do zachowania. Wartość domyślna to 10.
- ReportFileSizeInBytes: określa rozmiar pliku do utrzymania. Wartość domyślna to 104 857 600.
- QueryExecutionAggregationTimeInMinutes: określa liczbę minut agregacji informacji o wykonaniu zapytania. Domyślna wartość wynosi 5.
- SystemCounterAggregationTimeInMinutes: określa liczbę minut, dla których jest agregowany licznik systemu. Domyślna wartość wynosi 5.
Po wprowadzeniu zmian w pliku konfiguracji uruchom ponownie bramę, aby te wartości konfiguracji zaczęły obowiązywać. Pliki raportów są teraz generowane w lokalizacji określonej dla parametru ReportFilePath.
Uwaga
Może upłynąć do 10 minut i czasu ustawionego dla elementu QueryExecutionAggregationTimeInMinutes w pliku konfiguracji, dopóki pliki nie będą wyświetlane w folderze.
Omówienie dzienników wydajności
Po włączeniu tej funkcji tworzone są cztery nowe pliki dziennika:
- Raport wykonywania zapytań
- Raport uruchamiania zapytania
- Raport agregacji wykonywania zapytania
- Raport agregacji licznika systemu
Raport wykonywania zapytania zawiera szczegółowe informacje o wykonywaniu zapytań. Przechwycone są następujące atrybuty.
Atrybut | opis |
---|---|
GatewayObjectId | Unikatowy identyfikator bramy. |
Identyfikator żądania | Unikatowy identyfikator żądania bramy. Może to być takie samo w przypadku wielu zapytań. |
DataSource | Zawiera zarówno typ źródła danych, jak i źródło danych. |
QueryTrackingId | Unikatowy identyfikator zapytania. Może się jednak powtarzać, jeśli zapytanie zakończy się niepowodzeniem i zostanie ponowione. |
QueryExecutionEndTimeUTC | Czas zakończenia wykonywania zapytania. |
QueryExecutionDuration (ms) | Czas trwania wykonywania zapytania. |
Typ zapytania | Typ zapytania. Na przykład przekazane zapytanie może być odświeżaniem usługi Power BI lub zapytaniem bezpośrednim. Może to być też zapytania z usług Power Apps i Power Automate. |
DataProcessingEndTimeUTC | Czas, kiedy działania przetwarzania danych, takie jak buforowanie, pobieranie danych, kompresja i przetwarzanie danych zostały ukończone. |
DataProcessingDuration (ms) | Czas trwania działań przetwarzania danych, takich jak buforowanie, pobieranie danych, kompresja i przetwarzanie danych. |
Sukces | Wskazuje, czy zapytanie zakończyło się powodzeniem, czy niepowodzeniem. |
ErrorMessage | Jeśli zapytanie nie powiodło się, wskazuje komunikat o błędzie. |
BuforowanieDiskWritingDuration (ms) | Wskazuje ilość czasu przez bramę do zapisania wszystkich danych na dysku |
BuforowanieDiskReadingDuration (ms) | Wskazuje ilość czasu przez bramę do odczytania wszystkich danych na dysku |
SpoolingTotalDataSize (bajty) | Rozmiar (skompresowany) danych zapisywanych na/odczytanych z dysku |
DataReadingAndSerializationDuration (ms) | Wskazuje czas potrzebny bramie na odczytywanie danych ze źródła danych i serializowanie ich do pakietów. |
DiskRead (bajt/s) | Wskazuje bajty odczytane przez bramę na sekundę. DiskRead(byte/sec) = SpoolingTotalDataSize / SpoolingDiskReadingDuration |
DiskWrite (bajty/s) | Wskazuje bajty zapisywane przez bramę na sekundę. DiskWrite(byte/sec) = SpoolingTotalDataSize / SpoolingDiskWritingDuration |
Raport uruchamiania zapytania zawiera zapytanie i godzinę rozpoczęcia zapytania. Przechwycone są następujące atrybuty.
Atrybut | opis |
---|---|
GatewayObjectId | Unikatowy identyfikator bramy. |
Identyfikator żądania | Unikatowy identyfikator żądania bramy. Może to być takie samo w przypadku wielu zapytań. |
DataSource | Zawiera zarówno typ źródła danych, jak i źródło danych. |
QueryTrackingId | Unikatowy identyfikator zapytania. Może się jednak powtarzać, jeśli zapytanie zakończy się niepowodzeniem i zostanie ponowione. |
QueryExecutionStartTimeUTC | Czas rozpoczęcia wykonywania zapytania. |
Typ zapytania | Typ zapytania. Na przykład przekazane zapytanie może być odświeżaniem usługi Power BI lub zapytaniem bezpośrednim. Może to być też zapytania z usług Power Apps i Power Automate. |
Tekst zapytania | Ukończ zapytanie zakodowane przy użyciu algorytmu base64. |
EvaluationContext | Zawiera artifactId (tj., datasetid dla semantycznych modeli, przepływów danychId itp.) wraz z dodatkowymi identyfikatorami śledzenia w zależności od artefaktu. Należy pamiętać, że to pole jest wypełniane tylko dla obsługiwanych obciążeń w usłudze Fabric, Power Platform, Azure Analysis Services i niektórych łącznikach w usłudze Azure Logic Apps. Należą do nich: semantyczne modele, przepływ danych Gen2 i przepływy danych platformy Power Platform. Obejmuje ona również obciążenia usługi Azure Logic Apps dla łączników Mashup Query, HTTP i File Azure. Wartość będzie zawierać różne identyfikatory śledzenia w zależności od używanego obciążenia. Przepływy danych usługi Power BI i sieci szkieletowej Gen 1 i Raporty podzielone na strony usługi Power BI nie są obsługiwane. |
Raport agregacji wykonywania zapytania zawiera informacje o zapytaniach agregowane do przedziału czasu według wartości GatewayObjectId, DataSource, Success i QueryType. Wartość domyślna to 5 minut, ale można ją dostosować. Przechwycone są następujące atrybuty.
Atrybut | opis |
---|---|
GatewayObjectId | Unikatowy identyfikator bramy. |
AgregacjaStartTimeUTC | Początek przedziału czasu, dla którego atrybuty zapytania zostały zagregowane. |
AggregationEndTimeUTC | Koniec przedziału czasu, dla którego atrybuty zapytania zostały zagregowane. |
DataSource | Zawiera zarówno typ źródła danych, jak i źródło danych. |
Sukces | Wskazuje, czy zapytanie zakończyło się powodzeniem, czy niepowodzeniem. |
AverageQueryExecutionDuration (ms) | Średni czas wykonywania zapytania dla przedziału czasu agregacji. |
MaxQueryExecutionDuration (ms) | Maksymalny czas wykonywania zapytania dla przedziału czasu agregacji. |
MinQueryExecutionDuration (ms) | Minimalny czas wykonywania zapytania dla przedziału czasu agregacji. |
Typ zapytania | Typ zapytania. Na przykład przekazane zapytanie może być odświeżaniem usługi Power BI lub zapytaniem bezpośrednim. Może to być też zapytania z usług Power Apps i Power Automate. |
AverageDataProcessingDuration (ms) | Średni czas dla działań przetwarzania danych, takich jak buforowanie, pobieranie danych, kompresja i przetwarzanie danych dla przedziału czasu agregacji. |
MaxDataProcessingDuration (ms) | Maksymalny czas dla działań przetwarzania danych, takich jak buforowanie, pobieranie danych, kompresja i przetwarzanie danych dla przedziału czasu agregacji. |
MinDataProcessingDuration (ms) | Minimalny czas dla działań przetwarzania danych, takich jak buforowanie, pobieranie danych, kompresja i przetwarzanie danych dla przedziału czasu agregacji. |
Licznik | Liczba zapytań. |
Raport agregacji licznika systemu zawiera wartości liczników systemu zagregowane do przedziału czasu. Wartość domyślna to 5 minut, ale można ją dostosować. Przechwycone są następujące atrybuty.
Atrybut | opis |
---|---|
GatewayObjectId | Unikatowy identyfikator bramy. |
AgregacjaStartTimeUTC | Początek przedziału czasu liczników systemu, które zostały zagregowane. |
AggregationEndTimeUTC | Koniec przedziału czasu liczników systemu, które zostały zagregowane. |
CounterName | Liczniki systemowe mają zastosowanie do jednego serwera, który hostuje węzeł bramy i obejmuje: • SystemCPUPercent: procesor używany na serwerze jako procent całkowitej dostępnej ilości procesora CPU. • SystemMEMUsedPercent: pamięć używana na serwerze jako procent całkowitej dostępnej pamięci. • GatewayCPUPercent: suma procentu procesora CPU używanego przez proces bramy na każdym rdzeniu. Aby uzyskać procent użycia procesora CPU na serwerze, podziel wartość GatewayCPUPercent przez liczbę rdzeni. • GatewayMEMKb: suma całkowitej pamięci w kilobajtach używanych przez proces bramy. |
Maksimum | Maksymalna wartość licznika systemu dla przedziału czasu agregacji. |
Min | Minimalna wartość licznika systemu dla przedziału czasu agregacji. |
Średnia | Średnia wartość licznika systemu dla przedziału czasu agregacji. |
Wizualizowanie wydajności bramy
Teraz możesz wizualizować dane, które są w plikach dziennika.
Pobierz szablon PBI wydajności bramy i otwórz go przy użyciu programu Power BI Desktop.
W wyświetlonym oknie dialogowym sprawdź, czy ścieżka folderu jest zgodna z wartością w pliku ReportFilePath.
Wybierz pozycję Załaduj, a plik szablonu rozpoczyna ładowanie danych z plików dziennika. Wszystkie wizualizacje są wypełniane przy użyciu danych w raportach.
Opcjonalnie zapisz ten plik jako plik PBIX i opublikuj go w usłudze w celu automatycznego odświeżania. Aby dowiedzieć się więcej, przejdź do tematu Publikowanie modeli semantycznych i raportów z programu Power BI Desktop.
Możesz również dostosować ten plik szablonu do własnych potrzeb. Aby uzyskać więcej informacji na temat szablonów usługi Power BI, przejdź do tego wpisu w blogu usługi Microsoft Power BI.
Monitorowanie magazynu buforu
Domyślnie magazyn buforu dla bramy znajduje się w folderze C:\Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Spooler. Pamiętaj, aby monitorować tę lokalizację, aby upewnić się, że jest wystarczająca ilość wolnego miejsca na dysku. Więcej informacji: Buforowanie danych bramy
Zapytania o powolne działanie
Długotrwałe zapytania mogą wymagać dodatkowej modyfikacji źródła danych lub dalszej optymalizacji samego zapytania. Może to dotyczyć odświeżeń usługi Power BI lub zapytań bezpośrednich baz danych, takich jak Zapytanie bezpośrednie usługi Power BI, Power Apps lub Azure Logic Apps.
Domyślnie brama wykonuje podstawowe rejestrowanie. Jeśli badasz zapytania o powolne działanie, oprócz korzystania z funkcji monitorowania wydajności, możesz tymczasowo włączyć dodatkowe rejestrowanie w celu zebrania dodatkowych informacji dzienników, w tym dzienników aparatu mashupu, ciągów zapytań i pełnego śledzenia na poziomie. Te dzienniki są zapisywane w tym samym miejscu co normalne dzienniki bramy. W tym celu w aplikacji lokalnej bramy danych wybierz pozycję Diagnostyka>Dodatkowe rejestrowanie.
Włączenie tego ustawienia prawdopodobnie znacznie zwiększy rozmiar dziennika na podstawie użycia bramy. Zalecamy, aby po zakończeniu przeglądania dzienników wyłączyć dodatkowe rejestrowanie. Nie zalecamy pozostawienia tego ustawienia włączonego podczas normalnego użycia bramy.
Optymalizowanie wydajności przez przesyłanie strumieniowe danych
Domyślnie lokalna brama danych buforuje dane przed zwróceniem ich do modelu semantycznego, co może spowodować niższą wydajność podczas operacji ładowania i odświeżania danych. Zachowanie domyślne może zostać zastąpione.
W pliku C:\Program Files\On-Premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config ustaw ustawienie StreamBeforeRequestCompletes na true, a następnie zapisz.
<setting name="StreamBeforeRequestCompletes" serializeAs="String"> <value>True</value> </setting>
W obszarze Lokalna brama danych>Ustawienia usługi uruchom ponownie bramę.
Uwaga
Włączenie funkcji StreamBeforeRequestCompletes może powodować problemy z niezawodnością zapytań podczas korzystania z wolnych źródeł danych lub niestabilnych/ograniczonych połączeń sieciowych.
Optymalizowanie wydajności przez wykluczenie określonych folderów ze skanowania antywirusowego
Aby uniknąć potencjalnego wpływu na wydajność, niektóre foldery można wykluczyć ze skanowania antywirusowego podczas korzystania z oprogramowania antywirusowego na poziomie plików na serwerze, na którym zainstalowano lokalną bramę danych. Jeśli te foldery nie zostaną wykluczone, możesz zaobserwować wpływ na wydajność i potencjalnie inne nieoczekiwane zachowania, ponieważ te foldery otrzymują dużą ilość operacji zapisu i są potokami danych lokalnej bramy danych.
Foldery, które mogą być wykluczone ze skanowania antywirusowego na lokalnym serwerze bramy danych
Uwaga
Poniższy dysk zastępczy reprezentuje literę dysku, na którym zainstalowano lokalną bramę danych. Zazwyczaj literą sterownika jest C. Następujący posiadacz miejsca ServiceAccount reprezentuje konto usługi, na którym działa lokalna brama danych. Domyślne konto to PBIEgwService.
- Katalog rejestrowania: Drive:\Windows\ServiceProfiles\ ServiceAccount \AppData\Local\Microsoft\On-premises data gateway
- Katalog magazynu buforu: Drive:\Windows\ServiceProfiles\ ServiceAccount \AppData\Local\Microsoft\On-premises data gateway\Spooler