Prestaties van on-premises gegevensgateway controleren en optimaliseren

Bewaking van gatewayprestaties (openbare preview)

Om de prestaties te bewaken, zijn gatewaybeheerders traditioneel afhankelijk van het handmatig bewaken van prestatiemeteritems via het hulpprogramma Windows Performance Monitor. We bieden nu extra querylogboekregistratie en een PBI-sjabloonbestand voor gatewayprestaties om de resultaten te visualiseren. Deze functie biedt nieuwe inzichten in het gatewaygebruik. U kunt deze gebruiken om problemen met trage query's op te lossen.

Notitie

Deze functie is momenteel alleen beschikbaar voor de on-premises gegevensgateway in de standaardmodus. Deze is niet beschikbaar voor de persoonlijke modus.

Notitie

Met diagnostische gegevens van de gateway worden geen diagnostische gegevens vastgelegd die rechtstreeks zijn gerelateerd aan de (virtuele) machine en het bijbehorende netwerk, zoals bandbreedte of latentie. Deze diagnostische gegevens kunnen echter van invloed zijn op de prestaties van uw gateway. U kunt hulpprogramma's voor resourcebewaking gebruiken om uw computer te bewaken.

Logboekregistratie van prestaties

Deze functie is nu standaard ingeschakeld.

Notitie

  • Momenteel worden query's van Premium-capaciteit naar de gateway soms gemist in deze logboekregistratie. We werken actief aan het oplossen van dit probleem.
  • Momenteel worden gepagineerde rapportquery's van Power BI niet vastgelegd met dit hulpprogramma.

Prestatielogboekregistratie configureren

Er zijn andere waarden in het configuratiebestand C:\Program Files\On-premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config die u indien nodig kunt bijwerken:

  • ReportFilePath: bepaalt het pad waar de vier logboekbestanden worden opgeslagen. Dit pad is standaard \Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report of \Windows\ServiceProfiles\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report. Het pad is afhankelijk van de versie van het besturingssysteem. Als u een serviceaccount gebruikt voor de andere gateway dan PBIEgwService, vervangt u dit deel van het pad door de naam van het serviceaccount.
  • ReportFileCount: bepaalt het aantal logboekbestanden van elk type dat moet worden bewaard. De standaardwaarde is 10.
  • ReportFileSizeInBytes: bepaalt de grootte van het bestand dat moet worden onderhouden. De standaardwaarde is 104.857.600.
  • QueryExecutionAggregationTimeInMinutes: bepaalt het aantal minuten waarvoor de queryuitvoeringsgegevens worden geaggregeerd. De standaardwaarde is 5.
  • SystemCounterAggregationTimeInMinutes: bepaalt het aantal minuten waarvoor de systeemteller wordt geaggregeerd. De standaardwaarde is 5.

Nadat u de wijzigingen in het configuratiebestand hebt aangebracht, start u de gateway opnieuw op om deze configuratiewaarden van kracht te laten worden. De rapportbestanden worden nu gegenereerd op de locatie die u hebt opgegeven voor ReportFilePath.

Notitie

Het kan tot 10 minuten duren plus de tijd die is ingesteld voor QueryExecutionAggregationTimeInMinutes in het configuratiebestand totdat bestanden worden weergegeven in de map.

Inzicht in prestatielogboeken

Wanneer u deze functie inschakelt, worden er vier nieuwe logboekbestanden gemaakt:

  • Het queryuitvoeringsrapport
  • Het querystartrapport
  • Het aggregatierapport voor queryuitvoering
  • Het aggregatierapport voor systeemtellers

Het queryuitvoeringsrapport bevat gedetailleerde informatie over de uitvoering van query's. De volgende kenmerken worden vastgelegd.

Kenmerk Beschrijving
GatewayObjectId Unieke id voor de gateway.
RequestId Unieke id voor een gatewayaanvraag. Dit kan hetzelfde zijn voor meerdere query's.
DataSource Bevat zowel het gegevensbrontype als de gegevensbron.
QueryTrackingId Unieke id voor een query. Het kan echter herhalen als een query mislukt en opnieuw wordt geprobeerd.
QueryExecutionEndTimeUTC Tijdstip waarop de uitvoering van de query is voltooid.
QueryExecutionDuration (ms) Duur voor het uitvoeren van een query.
Querytype Type query. De doorgegeven query kan bijvoorbeeld een Power BI-vernieuwing of DirectQuery zijn. Of het kan query's zijn van Power Apps en Power Automate.
DataProcessingEndTimeUTC Tijd waarop gegevensverwerkingsactiviteiten, zoals spoolen, ophalen, compressie en gegevensverwerking zijn voltooid.
DataProcessingDuration (ms) Duur voor gegevensverwerkingsactiviteiten, zoals spooling, ophalen, compressie en gegevensverwerking.
Succes Geeft aan of de query is geslaagd of mislukt.
Errormessage Als de query is mislukt, wordt het foutbericht aangegeven.
SpoolingDiskWritingDuration (ms) Geeft de hoeveelheid tijd aan die de gateway nodig heeft om alle gegevens naar schijf te schrijven
SpoolingDiskReadingDuration (ms) Geeft de hoeveelheid tijd aan die de gateway nodig heeft om alle gegevens naar schijf te lezen
SpoolingTotalDataSize (bytes) Grootte (gecomprimeerd) van de gegevens die worden geschreven naar/gelezen van schijf
DataReadingAndSerializationDuration (ms) Geeft de hoeveelheid tijd aan die de gateway nodig heeft om gegevens uit de gegevensbron te lezen en ze te serialiseren in pakketten.
DiskRead (byte/sec) Geeft bytes aan die per seconde door de gateway zijn gelezen. DiskRead(byte/sec) = SpoolingTotalDataSize /SpoolingDiskReadingDuration
DiskWrite (byte/sec) Geeft bytes aan die zijn geschreven door de gateway per seconde. DiskWrite(byte/sec) = SpoolingTotalDataSize /SpoolingDiskWritingDuration

Het querystartrapport bevat de query en de begintijd van de query. De volgende kenmerken worden vastgelegd.

Notitie

De EvaluationContext wordt weergegeven zonder dat extra logboekregistratie is ingeschakeld voor Power BI-gegevensstromen en Dataflow Gen2 voor gebruikers op Pro-licenties. U hebt nog steeds extra logboekregistratie ingeschakeld om EvaluationContext weer te geven voor Power BI-gegevensstromen voor gebruikers met Premium-licenties.

Kenmerk Beschrijving
GatewayObjectId Unieke id voor de gateway.
RequestId Unieke id voor een gatewayaanvraag. Dit kan hetzelfde zijn voor meerdere query's.
DataSource Bevat zowel het gegevensbrontype als de gegevensbron.
QueryTrackingId Unieke id voor een query. Het kan echter herhalen als een query mislukt en opnieuw wordt geprobeerd.
QueryExecutionStartTimeUTC Tijdstip waarop de uitvoering van de query is gestart.
Querytype Type query. De doorgegeven query kan bijvoorbeeld een Power BI-vernieuwing of DirectQuery zijn. Of het kan query's zijn van Power Apps en Power Automate.
QueryTekst Voltooi de query die is gecodeerd met base64.
EvaluationContext Bevat de artifactId (dat wil gezegd ModelID, DataflowsId) samen met aanvullende gegevens, afhankelijk van het artefact. Houd er rekening mee dat dit veld alleen wordt ingevuld voor Gegevensstroom Gen2- en Power Platform-gegevensstromen.

Het aggregatierapport voor queryuitvoering bevat querygegevens die zijn samengevoegd tot een tijdsinterval door GatewayObjectId, DataSource, Success en QueryType. De standaardwaarde is 5 minuten, maar u kunt deze aanpassen. De volgende kenmerken worden vastgelegd.

Kenmerk Beschrijving
GatewayObjectId Unieke id voor de gateway.
AggregationStartTimeUTC Begin van het tijdvenster waarvoor querykenmerken zijn samengevoegd.
AggregationEndTimeUTC Einde van het tijdvenster waarvoor querykenmerken zijn samengevoegd.
DataSource Bevat zowel het gegevensbrontype als de gegevensbron.
Succes Geeft aan of de query is geslaagd of mislukt.
AverageQueryExecutionDuration (ms) Gemiddelde uitvoeringstijd van query's voor het tijdvenster voor aggregatie.
MaxQueryExecutionDuration (ms) Maximale uitvoeringstijd van query's voor het aggregatietijdvenster.
MinQueryExecutionDuration (ms) Minimale uitvoeringstijd van query's voor het venster aggregatietijd.
Querytype Type query. De doorgegeven query kan bijvoorbeeld een Power BI-vernieuwing of DirectQuery zijn. Of het kan query's zijn van Power Apps en Power Automate.
AverageDataProcessingDuration (ms) Gemiddelde tijd voor gegevensverwerkingsactiviteiten, zoals spooling, het ophalen van gegevens, compressie en gegevensverwerking voor het aggregatietijdvenster.
MaxDataProcessingDuration (ms) Maximale tijd voor gegevensverwerkingsactiviteiten, zoals spooling, het ophalen van gegevens, compressie en gegevensverwerking voor het aggregatietijdvenster.
MinDataProcessingDuration (ms) Minimale tijd voor gegevensverwerkingsactiviteiten, zoals spooling, het ophalen van gegevens, compressie en gegevensverwerking voor het aggregatietijdvenster.
Tellen Aantal query's.

Het aggregatierapport systeemteller bevat systeemtellerwaarden die zijn geaggregeerd tot een tijdsinterval. De standaardwaarde is 5 minuten, maar u kunt deze aanpassen. De volgende kenmerken worden vastgelegd.

Kenmerk Beschrijving
GatewayObjectId Unieke id voor de gateway.
AggregationStartTimeUTC Begin van het tijdvenster voor de systeemtellers die zijn samengevoegd.
AggregationEndTimeUTC Einde van het tijdvenster voor de systeemtellers die zijn samengevoegd.
CounterName Systeemtellers zijn elk van toepassing op één server die als host fungeert voor een gatewayknooppunt en omvatten:
SystemCPUPercent: CPU die op de server wordt gebruikt als percentage van de totale beschikbare CPU.
SystemMEMUsedPercent: Geheugen dat op de server wordt gebruikt als percentage van het totale beschikbare geheugen.
GatewayCPUPercent: de som van het percentage CPU dat door het gatewayproces wordt gebruikt op elke kern. Als u het percentage van de CPU wilt ophalen dat op de server wordt gebruikt, deelt u GatewayCPUPercent door het aantal kernen.
GatewayMEMKb: Som van het totale geheugen in kilobytes die door het gatewayproces worden gebruikt.
Max Maximumwaarde voor de systeemteller voor het tijdvenster voor aggregatie.
Min Minimumwaarde voor de systeemteller voor het tijdvenster voor aggregatie.
Average De gemiddelde waarde voor de systeemteller voor het tijdvenster voor aggregatie.

Gatewayprestaties visualiseren

U kunt nu de gegevens in de logboekbestanden visualiseren.

  1. Download de PBI-sjabloon voor gatewayprestaties en open deze met behulp van Power BI Desktop.

  2. Controleer in het dialoogvenster dat wordt geopend of het mappad overeenkomt met de waarde in ReportFilePath.

    Pop-up for the folder path.

  3. Selecteer Laden en het sjabloonbestand begint met het laden van de gegevens uit uw logboekbestanden. Alle visuals worden gevuld met behulp van de gegevens in de rapporten.

  4. Sla dit bestand desgewenst op als PBIX en publiceer het naar uw service voor automatische vernieuwingen. Ga naar Semantische modellen en rapporten publiceren vanuit Power BI Desktop voor meer informatie.

U kunt dit sjabloonbestand ook aanpassen aan uw behoeften. Ga naar dit Microsoft Power BI-blogbericht voor meer informatie over Power BI-sjablonen.

Opslag van spools bewaken

Standaard bevindt spoolopslag voor de gateway zich op C:\Users\PBIEgwService\AppData\Local\Microsoft\On-premises gegevensgateway\Spooler. Zorg ervoor dat u deze locatie bewaakt om ervoor te zorgen dat er voldoende vrije schijfruimte is. Meer informatie: Gateway-spoolgegevens

Gelijktijdigheid van gatewaylid bewaken

De limiet voor het aantal query's dat tegelijkertijd op een gatewayknooppunt kan worden uitgevoerd, is standaard 40. Als u deze limiet bereikt, worden binnenkomende query's vaak lang in de wachtrij geplaatst om te worden uitgevoerd, wat resulteert in prestatievermindering en time-outtype fouten. Als u vermoedt dat een gatewaylid deze limiet bereikt, schakelt u extra logboekregistratie in, exporteert u de gatewaylogboeken, bekijkt u de Mashup*.log-bestanden, zoekt u naar trefwoorden 'runningCount' en 'pendingCount' en controleert u of de 'runningCount' vaak bijna 40 is of als de 'pendingCount' vaak boven nul is. Raadpleeg dit document voor meer informatie over het plannen en schalen van uw gateway.

Traag presterende query's

Voor langlopende query's is mogelijk aanvullende wijzigingen vereist voor uw gegevensbron of verdere optimalisatie van de query zelf. Dit kan zijn voor Power BI-vernieuwingen of voor directe databasequery's, zoals Power BI DirectQuery, Power Apps of Azure Logic Apps.

Standaard voert de gateway eenvoudige logboekregistratie uit. Als u query's met trage prestaties onderzoekt, kunt u, naast de functie voor prestatiebewaking, tijdelijk aanvullende logboekregistratie inschakelen om aanvullende logboekgegevens te verzamelen, waaronder mashup-enginelogboeken, queryreeksen en uitgebreide tracering op niveau. Deze logboeken worden naar dezelfde plaats geschreven als uw normale gatewaylogboeken. Hiervoor selecteert u in de on-premises gegevensgateway-app Diagnostische>gegevens aanvullende logboekregistratie.

Turn on additional logging.

Als u deze instelling inschakelt, wordt de logboekgrootte waarschijnlijk aanzienlijk verhoogd op basis van het gatewaygebruik. We raden u aan dat nadat u klaar bent met het controleren van de logboeken die u extra logboekregistratie uitschakelt. We raden u niet aan deze instelling ingeschakeld te laten tijdens normaal gatewaygebruik.

Prestaties optimaliseren door gegevens te streamen

De on-premises gegevensgateway spoolt gegevens standaard voordat ze worden geretourneerd naar het semantische model, wat mogelijk tragere prestaties veroorzaakt tijdens het laden en vernieuwen van gegevens. Het standaardgedrag kan worden overschreven.

  1. Stel in het bestand C:\Program Files\On-Premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config de instelling StreamBeforeRequestCompletes in op True en sla deze vervolgens op.

    <setting name="StreamBeforeRequestCompletes" serializeAs="String">
       <value>True</value>
    </setting>
    
  2. Start in On-premises gegevensgateway>Service-instellingen de gateway opnieuw.

Prestaties optimaliseren door specifieke mappen uit te sluiten van antivirusscans

Om mogelijke gevolgen voor de prestaties te voorkomen, kunnen bepaalde mappen worden uitgesloten van antivirusscans wanneer u een antivirussoftware op bestandsniveau gebruikt op de server waarop een on-premises gegevensgateway is geïnstalleerd. Als deze mappen niet worden uitgesloten, kunt u prestatie-effecten en mogelijk ander onverwacht gedrag observeren, omdat deze mappen een grote hoeveelheid schrijfbewerkingen ontvangen en gegevenspijplijnen van de on-premises gegevensgateway zijn.

Mappen die mogelijk moeten worden uitgesloten van antivirusscans op de on-premises gegevensgatewayserver

Notitie

De volgende plaatshouder Station vertegenwoordigt de letter van het station waarop de on-premises gegevensgateway is geïnstalleerd. Normaal gesproken is de letter van het stuurprogramma C. Het volgende tijdelijke serviceaccount vertegenwoordigt het serviceaccount waarop de on-premises gegevensgateway wordt uitgevoerd. Het standaardaccount is PBIEgwService.

  • Logboekregistratiemap: Station:\Windows\ServiceProfiles\ ServiceAccount \AppData\Local\Microsoft\On-premises gegevensgateway
  • Opslagmap voor spool: Station:\Windows\ServiceProfiles\ ServiceAccount \AppData\Local\Microsoft\On-premises gegevensgateway\Spooler

Volgende stappen