Überwachen und Optimieren der Leistung des lokalen Datengateways

Überwachen der Gatewayleistung (öffentliche Vorschauversion)

Um die Leistung zu überwachen, waren Gatewayadministratoren traditionell darauf angewiesen, Leistungsindikatoren manuell über das Windows-Systemmonitortool zu überwachen. Wir bieten jetzt eine zusätzliche Abfrageprotokollierung und eine Gatewayleistungs-PBI-Vorlagendatei, um die Ergebnisse zu visualisieren. Dieses Feature bietet neue Erkenntnisse für die Gatewaynutzung. Sie können damit Probleme mit Abfragen mit geringer Leistung beheben.

Hinweis

Dieses Feature ist derzeit nur für das lokale Datengateway im Standardmodus verfügbar. Es ist nicht für den persönlichen Modus verfügbar.

Hinweis

Die Gatewaydiagnose erfasst keine Diagnosen, die sich direkt auf den (virtuellen) Computer und sein Netzwerk beziehen, wie Bandbreite oder Latenz. Diese Diagnosen können sich jedoch auf die Leistung Ihres Gateways auswirken. Sie können Ressourcenüberwachungstools verwenden, um Ihren Computer zu überwachen.

Leistungsprotokollierung

Diese Funktion ist jetzt standardmäßig aktiviert.

Hinweis

  • Derzeit werden bei dieser Protokollierung Abfragen von der Premium-Kapazität zum Gateway manchmal übersehen. Wir arbeiten aktiv an der Behebung dieses Problems.
  • Zurzeit werden paginierte Power BI-Berichtsabfragen mit diesem Tool nicht protokolliert.

Konfigurieren der Leistungsprotokollierung

Die Konfigurationsdatei C:\Program Files\On-premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config enthält weitere Werte, die Sie nach Bedarf aktualisieren können:

  • ReportFilePath: Bestimmt den Pfad, in dem die vier Protokolldateien gespeichert sind. Standardmäßig ist dieser Pfad entweder \Benutzer\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report oder \Windows\ServiceProfiles\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report. Der Pfad hängt von der Betriebssystemversion ab. Wenn Sie ein anderes Dienstkonto für das Gateway als PBIEgwService verwenden, ersetzen Sie diesen Teil des Pfads durch den Namen des Dienstkontos.
  • ReportFileCount: Bestimmt die Anzahl der Protokolldateien jeder Art, die beibehalten werden soll. Der Standardwert ist 10.
  • ReportFileSizeInBytes: Bestimmt die Größe der beizubehaltenden Datei. Der Standardwert lautet 104.857.600.
  • QueryExecutionAggregationTimeInMinutes: Bestimmt die Anzahl der Minuten, für die die Abfrageausführungsinformationen aggregiert werden. Der Standardwert ist 5.
  • SystemCounterAggregationTimeInMinutes: Bestimmt die Anzahl der Minuten, für die der Systemzähler aggregiert wird. Der Standardwert ist 5.

Nachdem Sie die Änderungen an der Konfigurationsdatei vorgenommen haben, starten Sie das Gateway neu, damit diese Konfigurationswerte wirksam werden. Nun werden die Berichtsdateien angezeigt, die an dem von Ihnen angegebenen Speicherort für ReportFilePath generiert werden.

Hinweis

Es kann bis zu 10 Minuten plus der eingestellten Zeit für QueryExecutionAggregationTimeInMinutes in der Konfigurationsdatei dauern, bis Dateien im Ordner angezeigt werden.

Informationen zu Leistungsprotokollen

Wenn Sie diese Funktion aktivieren, werden vier neue Protokolldateien erstellt:

  • Der Abfrageausführungsbericht
  • Der Abfragestartbericht
  • Der Aggregationsbericht zur Abfrageausführung
  • Der Aggregationsbericht zum Systemzähler

Der Abfrageausführungsbericht enthält detaillierte Informationen zur Abfrageausführung. Die folgenden Attribute werden erfasst.

attribute BESCHREIBUNG
GatewayObjectId Eindeutiger Bezeichner für das Gateway.
RequestId Eindeutiger Bezeichner für eine Gatewayanforderung. Er kann für mehrere Abfragen gleich sein.
DataSource Enthält sowohl den Datenquellentyp als auch die Datenquelle.
QueryTrackingId Eindeutiger Bezeichner für eine Abfrage. Er kann sich jedoch wiederholen, wenn eine Abfrage fehlschlägt und erneut ausgeführt wird.
QueryExecutionEndTimeUTC Zeitpunkt, zu dem die Abfrageausführung abgeschlossen ist.
QueryExecutionDuration (ms) Dauer für eine Abfrageausführung.
QueryType Typ der Abfrage. Beispielsweise könnte die übergebene Abfrage eine Power BI-Aktualisierung oder DirectQuery sein. Oder es könnte sich um Abfragen von Power Apps und Power Automate handeln.
DataProcessingEndTimeUTC Zeitpunkt, zu dem Datenverarbeitungsaktivitäten wie Spooling, Datenabruf, Komprimierung und Datenverarbeitung abgeschlossen sind.
DataProcessingDuration (ms) Dauer für Datenverarbeitungsaktivitäten wie Spooling, Datenabruf, Komprimierung und Datenverarbeitung.
Erfolgreich Gibt an, ob die Abfrage erfolgreich war oder fehlgeschlagen ist.
ErrorMessage Wenn die Abfrage fehlschlägt, wird die Fehlermeldung angezeigt.
SpoolingDiskWritingDuration (ms) Gibt an, wie lange das Gateway benötigt, um alle Daten auf den Datenträger zu schreiben.
SpoolingDiskReadingDuration (ms) Gibt an, wie lange das Gateway benötigt, um alle Daten auf dem Datenträger zu lesen.
SpoolingTotalDataSize (Byte) Größe (komprimiert) der Daten, die auf den Datenträger geschrieben/auf diesem gelesen werden
DataReadingAndSerializationDuration (ms) Gibt an, wie lange das Gateway benötigt, um Daten aus der Datenquelle zu lesen und in Paketen zu serialisieren.
DiskRead (Byte/Sek.) Gibt die Bytes an, die vom Gateway pro Sekunde gelesen wurden. DiskRead(Byte/Sek.) = SpoolingTotalDataSize / SpoolingDiskReadingDuration
DiskWrite (Byte/Sek.) Gibt die Bytes an, die vom Gateway pro Sekunde geschrieben wurden. DiskWrite(Byte/Sek.) = SpoolingTotalDataSize / SpoolingDiskWritingDuration

Der Abfragestartbericht enthält die Abfrage und die Abfragestartzeit. Die folgenden Attribute werden erfasst.

Hinweis

Der EvaluationContext wird ohne zusätzliche Protokollierung für Power BI-Datenflüsse und Dataflow Gen2 für Benutzer nur für Pro-Lizenzen angezeigt. Sie benötigen weiterhin zusätzliche Protokollierung zum Anzeigen von EvaluationContext für Power BI-Datenflüsse für Benutzer mit Premium-Lizenzen.

attribute BESCHREIBUNG
GatewayObjectId Eindeutiger Bezeichner für das Gateway.
RequestId Eindeutiger Bezeichner für eine Gatewayanforderung. Er kann für mehrere Abfragen gleich sein.
DataSource Enthält sowohl den Datenquellentyp als auch die Datenquelle.
QueryTrackingId Eindeutiger Bezeichner für eine Abfrage. Er kann sich jedoch wiederholen, wenn eine Abfrage fehlschlägt und erneut ausgeführt wird.
QueryExecutionStartTimeUTC Zeitpunkt, zu dem die Abfrageausführung gestartet wurde.
QueryType Typ der Abfrage. Beispielsweise könnte die übergebene Abfrage eine Power BI-Aktualisierung oder DirectQuery sein. Oder es könnte sich um Abfragen von Power Apps und Power Automate handeln.
QueryText Vollständige in Base64 codierte Abfrage.
EvaluationContext Enthält die artifactId (d. h. ModelID, DataflowsId) zusammen mit zusätzlichen Daten, je nach Artefakt. Beachten Sie, dass dieses Feld nur für Datenflüsse von Dataflow Gen2 und Power Platform aufgefüllt wird.

Der Aggregationsbericht zur Abfrageausführung enthält Abfrageinformationen, die in einem Zeitintervall durch GatewayObjectId, DataSource, Success und QueryType zusammengefasst sind. Der Standardwert ist 5 Minuten, Sie können ihn jedoch anpassen. Die folgenden Attribute werden erfasst.

attribute BESCHREIBUNG
GatewayObjectId Eindeutiger Bezeichner für das Gateway.
AggregationStartTimeUTC Start des Zeitfensters, für das Abfrageattribute aggregiert wurden.
AggregationEndTimeUTC Ende des Zeitfensters, für das Abfrageattribute aggregiert wurden.
DataSource Enthält sowohl den Datenquellentyp als auch die Datenquelle.
Erfolgreich Gibt an, ob die Abfrage erfolgreich war oder fehlgeschlagen ist.
AverageQueryExecutionDuration (ms) Durchschnittliche Abfrageausführungszeit für das Aggregationszeitfenster.
MaxQueryExecutionDuration (ms) Maximale Abfrageausführungszeit für das Aggregationszeitfenster.
MinQueryExecutionDuration (ms) Mindestabfrageausführungszeit für das Aggregationszeitfenster.
QueryType Typ der Abfrage. Beispielsweise könnte die übergebene Abfrage eine Power BI-Aktualisierung oder DirectQuery sein. Oder es könnte sich um Abfragen von Power Apps und Power Automate handeln.
AverageDataProcessingDuration (ms) Durchschnittliche Zeit für Datenverarbeitungsaktivitäten wie Spooling, Datenabruf, Komprimierung und Datenverarbeitung für das Aggregationszeitfenster.
MaxDataProcessingDuration (ms) Maximale Zeit für Datenverarbeitungsaktivitäten wie Spooling, Datenabruf, Komprimierung und Datenverarbeitung für das Aggregationszeitfenster.
MinDataProcessingDuration (ms) Mindestzeit für Datenverarbeitungsaktivitäten wie Spooling, Datenabruf, Komprimierung und Datenverarbeitung für das Aggregationszeitfenster.
Count Anzahl von Abfragen

Der Aggregationsbericht zum Systemzähler enthält Systemzählerwerte, die zu einem Zeitintervall aggregiert wurden. Der Standardwert ist 5 Minuten, Sie können ihn jedoch anpassen. Die folgenden Attribute werden erfasst.

attribute BESCHREIBUNG
GatewayObjectId Eindeutiger Bezeichner für das Gateway.
AggregationStartTimeUTC Beginn des Zeitfensters für die aggregierten Systemzähler.
AggregationEndTimeUTC Ende des Zeitfensters für die aggregierten Systemzähler.
CounterName Systemzähler gelten jeweils für einen Server, auf dem ein Gatewayknoten gehostet wird, und umfassen:
SystemCPUPercent: CPU, die auf dem Server als Prozentsatz der gesamten verfügbaren CPU verwendet wird.
SystemMEMUsedPercent: Arbeitsspeicher, der auf dem Server als Prozentsatz des gesamten verfügbaren Arbeitsspeichers verwendet wird.
GatewayCPUPercent: Die Summe des Prozentsatzes der CPU, die vom Gatewayprozess für jeden Kern verwendet wird. Um den Prozentsatz der auf dem Server verwendeten CPU zu erhalten, dividieren Sie GatewayCPUPercent durch die Anzahl der Kerne.
GatewayMEMKb: Summe des Gesamtspeichers in Kilobyte, die vom Gatewayprozess verwendet werden.
Max Maximalwert für den Systemzähler für das Aggregationszeitfenster.
Min Mindestwert für den Systemzähler für das Aggregationszeitfenster.
Average Durchschnittswert für den Systemzähler für das Aggregationszeitfenster.

Visualisieren der Gatewayleistung

Jetzt können Sie die Daten in den Protokolldateien visualisieren.

  1. Laden Sie die Gatewayleistungs-PBI-Vorlage herunter und öffnen Sie sie in Power BI Desktop.

  2. Überprüfen Sie im folgenden Dialogfeld, ob der Ordnerpfad mit dem Wert in ReportFilePath übereinstimmt.

    Pop-up for the folder path.

  3. Wählen Sie Laden aus, und die Vorlagendatei beginnt mit dem Laden der Daten aus Ihren Protokolldateien. Alle Grafiken werden mithilfe der Daten in den Berichten ausgefüllt.

  4. Speichern Sie diese Datei optional als PBIX, und veröffentlichen Sie sie für automatische Aktualisierungen in Ihrem Dienst. Weitere Informationen finden Sie unter Veröffentlichen von Semantikmodellen und Berichten aus Power BI Desktop.

Sie können diese Vorlagendatei auch an Ihre Anforderungen anpassen. Weitere Informationen zu Power BI-Vorlagen finden Sie in diesem Microsoft Power BI-Blogbeitrag.

Überwachen des Spoolspeichers

Standardmäßig befindet sich der Spoolspeicher für das Gateway unter C:\Benutzer\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Spooler. Überwachen Sie diesen Speicherort, um sicherzustellen, dass ausreichend freier Speicherplatz vorhanden ist. Weitere Informationen: Gateway-Spoolingdaten

Überwachen der Parallelität von Gatewaymitgliedern

Standardmäßig beträgt der Grenzwert für die Anzahl der Abfragen, die gleichzeitig auf einem Gatewayknoten ausgeführt werden können, 40. Wenn Sie diesen Grenzwert erreichen, führt dies häufig dazu, dass eingehende Abfragen lange in der Ausführungswarteschlange verbleiben, was wiederum Leistungseinbußen und Timeoutfehlern verursacht. Wenn Sie vermuten, dass ein Gatewaymitglied diesen Grenzwert erreicht, aktivieren Sie die zusätzliche Protokollierung, exportieren Sie die Gatewayprotokolle, suchen Sie in der Datei Mashup*.log nach den Schlüsselwörtern „runningCount“ und „pendingCount“, und überprüfen Sie, ob der Wert von „runningCount“ häufig nahe 40 oder der Wert von „pendingCount“ häufig über null liegt. Weitere Informationen zum Planen und Skalieren Ihres Gateways finden Sie in diesem Dokument.

Abfragen mit geringer Leistung

Bei lang laufenden Abfragen sind möglicherweise zusätzliche Änderungen an Ihrer Datenquelle oder eine weitere Optimierung der Abfrage selbst erforderlich. Dies kann entweder für Power BI-Aktualisierungen oder für direkte Datenbankabfragen wie Power BI DirectQuery, Power Apps oder Azure Logic Apps sein.

Standardmäßig führt das Gateway eine grundlegende Protokollierung durch. Wenn Sie langsame Abfragen untersuchen, können Sie zusätzlich zur Leistungsüberwachungsfunktion vorübergehend die zusätzliche Protokollierung aktivieren, um mehr Protokollinformationen zu sammeln, einschließlich Protokollen der Mashup-Engine, Abfragezeichenfolgen und ausführlicher Ablaufverfolgung. Diese Protokolle werden am gleichen Ort gespeichert wie Ihre normalen Gatewayprotokolle. Wählen Sie dazu in der App für das lokale Datengateway die Option Diagnose>Zusätzliche Protokollierung aus.

Turn on additional logging.

Das Aktivieren dieser Einstellung erhöht die Protokollgröße signifikant basierend auf der Gatewaynutzung. Wir empfehlen, dass Sie nach Abschluss der Überprüfung der Protokolle die zusätzliche Protokollierung deaktivieren. Es wird nicht empfohlen, diese Einstellung während der normalen Gatewaynutzung aktiviert zu belassen.

Optimieren der Leistung durch Streaming von Daten

Standardmäßig spoolt das lokale Datengateway Daten, bevor sie an das Semantikmodell zurückgegeben werden, was möglicherweise zu einer langsameren Leistung beim Laden und Aktualisieren von Daten führen kann. Das Standardverhalten kann überschrieben werden.

  1. Legen Sie in der Datei C:\Programme\On-Premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config die Einstellung StreamBeforeRequestCompletes auf True fest, und speichern Sie sie.

    <setting name="StreamBeforeRequestCompletes" serializeAs="String">
       <value>True</value>
    </setting>
    
  2. Starten Sie das Gateway unter Lokaler Datengatewaydienst>Einstellungen,neu.

Wenn Sie die Leistung optimieren, indem Sie bestimmte Ordner von der Virenprüfung ausschließen,

Um potenzielle Leistungseinbußen zu vermeiden, können bestimmte Ordner von der Antivirenüberprüfung ausgeschlossen werden, wenn Sie eine Antivirensoftware auf Dateiebene auf dem Server verwenden, auf dem ein lokales Datengateway installiert ist. Wenn diese Ordner nicht ausgeschlossen werden, können Sie Leistungsbeeinträchtigungen und potenziell andere unerwartete Verhaltensweisen beobachten, da diese Ordner eine große Menge von Schreibvorgängen erhalten und im Kern Datenpipelines des lokalen Datengateways sind.

Ordner, die möglicherweise vom Virenscan auf dem lokalen Datengatewayserver ausgeschlossen werden müssen

Hinweis

Das folgende Platzhalterlaufwerk stellt den Buchstaben des Laufwerks dar, auf dem das lokale Datengateway installiert ist. In der Regel ist der Treiberbuchstaben C. Der folgende Platzhalter ServiceAccount stellt das Dienstkonto dar, welches das lokale Datengateway ausführt. Das Standardkonto ist PBIEgwService.

  • Protokollierungsverzeichnis: Laufwerk:\Windows\ServiceProfiles\ ServiceAccount \AppData\Local\Microsoft\Lokales Datengateway
  • Spool-Speicherverzeichnis: Laufwerk:\Windows\ServiceProfiles\ ServiceAccount \AppData\Local\Microsoft\Lokales Datengateway\Spooler

Nächste Schritte