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.
Requestid 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.

Uwaga

Element EvaluationContext jest wyświetlany bez włączania dodatkowego rejestrowania dla przepływów danych usługi Power BI i przepływu danych Gen2 tylko dla użytkowników korzystających z licencji Pro. Nadal potrzebujesz dodatkowego rejestrowania włączonego do wyświetlania wartości EvaluationContext dla przepływów danych usługi Power BI dla użytkowników na licencjach Premium.

Atrybut opis
GatewayObjectId Unikatowy identyfikator bramy.
Requestid 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 (czyli ModelID, DataflowsId) wraz z dodatkowymi danymi w zależności od artefaktu. Należy pamiętać, że to pole jest wypełniane tylko dla przepływów danych przepływów danych Gen2 i Power Platform.

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.

  1. Pobierz szablon PBI wydajności bramy i otwórz go przy użyciu programu Power BI Desktop.

  2. W wyświetlonym oknie dialogowym sprawdź, czy ścieżka folderu jest zgodna z wartością w pliku ReportFilePath.

    Pop-up for the folder path.

  3. 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.

  4. 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

Monitorowanie współbieżności składowej bramy

Domyślnie limit liczby zapytań, które mogą być uruchamiane jednocześnie w węźle bramy, wynosi 40. Przekroczenie tego limitu często spowoduje, że przychodzące zapytania będą otrzymywać w kolejce oczekujące na uruchomienie przez długi czas, co spowoduje obniżenie wydajności i typ limitu czasu błędów. Jeśli podejrzewasz, że członek bramy osiągnie ten limit, włącz dodatkowe rejestrowanie, wyeksportuj dzienniki bramy, przyjrzyj się plikom Mashup*.log , poszukaj słów kluczowych "runningCount" i "pendingCount" i sprawdź, czy wartość "runningCount" jest często zbliżona do 40, lub jeśli wartość "pendingCount" jest często wyższa od zera. Zapoznaj się z tym dokumentem , aby uzyskać więcej informacji na temat planowania i skalowania 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.

Turn on additional logging.

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.

  1. 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>
    
  2. W obszarze Lokalna brama danych>Ustawienia usługi uruchom ponownie bramę.

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

Następne kroki