Monitorare e ottimizzare le prestazioni del gateway dati locale

Monitoraggio delle prestazioni del gateway (anteprima pubblica)

Per monitorare le prestazioni, gli amministratori del gateway dipendono tradizionalmente dal monitoraggio manuale dei contatori delle prestazioni tramite lo strumento windows Monitor prestazioni. Per visualizzare i risultati, è ora disponibile una registrazione di query aggiuntiva e un file di modello pbi prestazioni gateway. Questa funzionalità fornisce nuove informazioni dettagliate sull'utilizzo del gateway. È possibile usarlo per risolvere i problemi relativi alle query con prestazioni lente.

Nota

Questa funzionalità è attualmente disponibile solo per il gateway dati locale nella modalità standard. Non è disponibile per la modalità personale.

Nota

La diagnostica del gateway non acquisisce la diagnostica direttamente correlata alla macchina virtuale e alla relativa rete, ad esempio larghezza di banda o latenza. Tuttavia, questa diagnostica potrebbe influire sulle prestazioni del gateway. È possibile usare gli strumenti di monitoraggio delle risorse per monitorare il computer.

Registrazione delle prestazioni

Questa funzionalità è ora attivata per impostazione predefinita.

Nota

  • Attualmente, le query dalla capacità Premium al gateway vengono talvolta perse in questa registrazione. Microsoft sta lavorando attivamente per risolvere questo problema.
  • Attualmente, le query di report impaginate di Power BI non vengono registrate con questo strumento.

Configurare la registrazione delle prestazioni

Esistono altri valori nel file C:\Program Files\On-premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config di configurazione che è possibile aggiornare in base alle esigenze:

  • ReportFilePath: determina il percorso in cui sono archiviati i quattro file di log. Per impostazione predefinita, questo percorso è \Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report o \Windows\ServiceProfiles\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report. Il percorso dipende dalla versione del sistema operativo. Se si usa un account del servizio per il gateway diverso da PBIEgwService, sostituire questa parte del percorso con il nome dell'account del servizio.
  • ReportFileCount: determina il numero di file di log di ogni tipo da conservare. Il valore predefinito è 10.
  • ReportFileSizeInBytes: determina le dimensioni del file da gestire. Il valore predefinito è 104.857.600.
  • QueryExecutionAggregationTimeInMinutes: determina il numero di minuti per cui vengono aggregate le informazioni sull'esecuzione della query. Il valore predefinito è 5.
  • SystemCounterAggregationTimeInMinutes: determina il numero di minuti per cui viene aggregato il contatore di sistema. Il valore predefinito è 5.

Dopo aver apportato le modifiche al file di configurazione, riavviare il gateway affinché questi valori di configurazione siano effettivi. I file di report vengono ora generati nel percorso specificato per ReportFilePath.

Nota

Possono essere necessari fino a 10 minuti più la quantità di tempo impostata per QueryExecutionAggregationTimeInMinutes nel file di configurazione fino a quando i file non iniziano a essere visualizzati nella cartella.

Informazioni sui log delle prestazioni

Quando si attiva questa funzionalità, vengono creati quattro nuovi file di log:

  • Report esecuzione query
  • Report di avvio query
  • Report aggregazione esecuzione query
  • Report aggregazione contatori di sistema

Il report esecuzione query contiene informazioni dettagliate sull'esecuzione di query. Vengono acquisiti gli attributi seguenti.

Attributo Descrizione
GatewayObjectId Identificatore univoco per il gateway.
Requestid Identificatore univoco per una richiesta del gateway. Potrebbe essere lo stesso per più query.
Origine dati Contiene sia il tipo di origine dati che l'origine dati.
QueryTrackingId Identificatore univoco per una query. Può tuttavia ripetersi se una query ha esito negativo e viene ritentata.
QueryExecutionEndTimeUTC Ora di completamento dell'esecuzione della query.
QueryExecutionDuration (ms) Durata dell'esecuzione di una query.
QueryType Tipo di query. Ad esempio, la query passata potrebbe essere un aggiornamento di Power BI o DirectQuery. In alternativa, potrebbe trattarsi di query da Power Apps e Power Automate.
DataProcessingEndTimeUTC Ora in cui sono completate le attività di elaborazione dei dati, ad esempio lo spooling, il recupero dei dati, la compressione e l'elaborazione dei dati.
DataProcessingDuration (ms) Durata delle attività di elaborazione dei dati, ad esempio spooling, recupero dei dati, compressione ed elaborazione dei dati.
Success Indica se la query ha avuto esito positivo o negativo.
Errormessage Se la query non è riuscita, indica il messaggio di errore.
SpoolingDiskWritingDuration (ms) Indica la quantità di tempo del gateway per scrivere tutti i dati su disco
SpoolingDiskReadingDuration (ms) Indica la quantità di tempo del gateway per leggere tutti i dati su disco
SpoolingTotalDataSize (byte) Dimensioni (compresso) dei dati scritti in/letti dal disco
DataReadingAndSerializationDuration (ms) Indica la quantità di tempo impiegato dal gateway per leggere i dati dall'origine dati e serializzarli in pacchetti.
DiskRead (byte/sec) Indica i byte letti dal gateway al secondo. DiskRead(byte/sec) = SpoolingTotalDataSize/SpoolingDiskReadingDuration
DiskWrite (byte/sec) Indica i byte scritti dal gateway al secondo. DiskWrite(byte/sec) = SpoolingTotalDataSize/SpoolingDiskWritingDuration

Il report di avvio query contiene la query e l'ora di inizio della query. Vengono acquisiti gli attributi seguenti.

Nota

EvaluationContext viene visualizzato senza la registrazione aggiuntiva abilitata per i flussi di dati di Power BI e Dataflow Gen2 solo per gli utenti con licenze Pro. È comunque necessaria una registrazione aggiuntiva abilitata per visualizzare EvaluationContext per i flussi di dati di Power BI per gli utenti nelle licenze Premium.

Attributo Descrizione
GatewayObjectId Identificatore univoco per il gateway.
Requestid Identificatore univoco per una richiesta del gateway. Potrebbe essere lo stesso per più query.
Origine dati Contiene sia il tipo di origine dati che l'origine dati.
QueryTrackingId Identificatore univoco per una query. Può tuttavia ripetersi se una query ha esito negativo e viene ritentata.
QueryExecutionStartTimeUTC Ora di avvio dell'esecuzione della query.
QueryType Tipo di query. Ad esempio, la query passata potrebbe essere un aggiornamento di Power BI o DirectQuery. In alternativa, potrebbe trattarsi di query da Power Apps e Power Automate.
QueryText Query completa codificata con base64.
EvaluationContext Contiene l'artifactId( ovvero ModelID, DataflowsId) insieme a dati aggiuntivi a seconda dell'artefatto. Si noti che questo campo popola solo per flussi di dati Dataflow Gen2 e Power Platform.

Il report aggregazione esecuzione query contiene informazioni sulle query aggregate a un intervallo di tempo in base a GatewayObjectId, DataSource, Success e QueryType. Il valore predefinito è 5 minuti, ma è possibile modificarlo. Vengono acquisiti gli attributi seguenti.

Attributo Descrizione
GatewayObjectId Identificatore univoco per il gateway.
AggregationStartTimeUTC Inizio dell'intervallo di tempo per il quale sono stati aggregati gli attributi della query.
AggregationEndTimeUTC Fine dell'intervallo di tempo per il quale sono stati aggregati gli attributi della query.
Origine dati Contiene sia il tipo di origine dati che l'origine dati.
Success Indica se la query ha avuto esito positivo o negativo.
AverageQueryExecutionDuration (ms) Tempo medio di esecuzione delle query per l'intervallo di tempo di aggregazione.
MaxQueryExecutionDuration (ms) Tempo massimo di esecuzione delle query per l'intervallo di tempo di aggregazione.
MinQueryExecutionDuration (ms) Tempo minimo di esecuzione delle query per l'intervallo di tempo di aggregazione.
QueryType Tipo di query. Ad esempio, la query passata potrebbe essere un aggiornamento di Power BI o DirectQuery. In alternativa, potrebbe trattarsi di query da Power Apps e Power Automate.
AverageDataProcessingDuration (ms) Tempo medio per le attività di elaborazione dati, ad esempio lo spooling, il recupero dei dati, la compressione e l'elaborazione dei dati per l'intervallo di tempo di aggregazione.
MaxDataProcessingDuration (ms) Tempo massimo per le attività di elaborazione dati, ad esempio lo spooling, il recupero dei dati, la compressione e l'elaborazione dei dati per l'intervallo di tempo di aggregazione.
MinDataProcessingDuration (ms) Tempo minimo per le attività di elaborazione dati, ad esempio lo spooling, il recupero dei dati, la compressione e l'elaborazione dei dati per l'intervallo di tempo di aggregazione.
Conteggio Numero di query.

Il report aggregazione contatore di sistema contiene i valori dei contatori di sistema aggregati a un intervallo di tempo. Il valore predefinito è 5 minuti, ma è possibile modificarlo. Vengono acquisiti gli attributi seguenti.

Attributo Descrizione
GatewayObjectId Identificatore univoco per il gateway.
AggregationStartTimeUTC Inizio dell'intervallo di tempo per i contatori di sistema aggregati.
AggregationEndTimeUTC Fine dell'intervallo di tempo per i contatori di sistema aggregati.
Countername I contatori di sistema si applicano a un server che ospita un nodo del gateway e includono:
SystemCPUPercent: CPU usata nel server come percentuale della CPU totale disponibile.
SystemMEMUsedPercent: memoria usata nel server come percentuale della memoria totale disponibile.
GatewayCPUPercent: somma della percentuale di CPU usata dal processo del gateway in ogni core. Per ottenere la percentuale della CPU usata nel server, dividere GatewayCPUPercent per il numero di core.
GatewayMEMKb: somma della memoria totale in kilobyte usata dal processo del gateway.
Max Valore massimo per il contatore di sistema per l'intervallo di tempo dell'aggregazione.
Min Valore minimo per il contatore di sistema per l'intervallo di tempo dell'aggregazione.
Media Valore medio per il contatore di sistema per l'intervallo di tempo di aggregazione.

Visualizzare le prestazioni del gateway

È ora possibile visualizzare i dati presenti nei file di log.

  1. Scaricare il modello GATEWAY Performance PBI e aprirlo usando Power BI Desktop.

  2. Nella finestra di dialogo visualizzata verificare che il percorso della cartella corrisponda al valore in ReportFilePath.

    Popup per il percorso della cartella.

  3. Selezionare Carica e il file modello inizia a caricare i dati dai file di log. Tutti gli oggetti visivi vengono popolati usando i dati nei report.

  4. Facoltativamente, salvare il file come PBIX e pubblicarlo nel servizio per gli aggiornamenti automatici. Per altre informazioni, vedere Pubblicare modelli semantici e report da Power BI Desktop.

È anche possibile personalizzare questo file di modello in base alle proprie esigenze. Per altre informazioni sui modelli di Power BI, vedere questo post di blog di Microsoft Power BI.

Monitoraggio dell'archiviazione spooling

Per impostazione predefinita, lo spooling per il gateway si trova in C:\Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Spooler. Assicurarsi di monitorare questa posizione per assicurarsi che lo spazio disponibile su disco sia sufficiente. Altre informazioni: Dati di spooling del gateway

Monitoraggio della concorrenza dei membri del gateway

Per impostazione predefinita, il limite per il numero di query che possono essere eseguite contemporaneamente in un nodo del gateway è 40. Il raggiungimento di questo limite spesso causerà l'esecuzione in coda delle query in ingresso per un lungo periodo di tempo, causando una riduzione delle prestazioni e un tipo di timeout di errori. Se si sospetta che un membro del gateway raggiunga questo limite, abilitare la registrazione aggiuntiva, esportare i log del gateway, esaminare i file Mashup*.log , cercare le parole chiave "runningCount" e "pendingCount" e verificare se il "runningCount" è spesso vicino a 40 o se "pendingCount" è spesso superiore a zero. Per altre informazioni su come pianificare e ridimensionare il gateway, vedere questo documento .

Query con prestazioni lente

Le query con esecuzione prolungata potrebbero richiedere modifiche aggiuntive sull'origine dati o un'ulteriore ottimizzazione della query stessa. Può trattarsi di aggiornamenti di Power BI o di query dirette del database, ad esempio Power BI DirectQuery, Power Apps o App per la logica di Azure.

Per impostazione predefinita, il gateway esegue la registrazione di base. Se si esaminano query con prestazioni lente, oltre a usare la funzionalità di monitoraggio delle prestazioni, è possibile abilitare temporaneamente Registrazione aggiuntiva per raccogliere informazioni aggiuntive sul log, inclusi i log del motore mashup, le stringhe di query e la traccia a livello dettagliato. Questi log vengono scritti nella stessa posizione dei normali log del gateway. A tale scopo, nell'app gateway dati locale selezionare Diagnostica>Registrazione aggiuntiva.

Attivare la registrazione aggiuntiva.

L'abilitazione di questa impostazione aumenterà probabilmente le dimensioni del log in modo significativo, in base all'utilizzo del gateway. È consigliabile che dopo aver esaminato i log che si disabilitano altre registrazioni. Non è consigliabile lasciare questa impostazione abilitata durante il normale utilizzo del gateway.

Ottimizza le prestazioni trasmettendo i dati

Per impostazione predefinita, il gateway dati locale esegue lo spooling dei dati prima di restituirli al modello semantico, causando potenzialmente prestazioni più lente durante le operazioni di caricamento e aggiornamento dei dati. Il comportamento predefinito può essere ignorato.

  1. Nel file C:\Programmi\Gateway dati locale\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config impostare l'impostazione StreamBeforeRequestCompletes su True e quindi salvare.

    <setting name="StreamBeforeRequestCompletes" serializeAs="String">
       <value>True</value>
    </setting>
    
  2. In Gateway dati locale>Impostazioni servizio riavviare il gateway.

Nota

L'abilitazione di StreamBeforeRequestCompletes può causare problemi di affidabilità delle query quando si usano origini dati lente o con connessioni di rete instabile/limitate.

Ottimizza le prestazioni escludendo cartelle specifiche dall'analisi antivirus

Per evitare potenziali impatti sulle prestazioni, alcune cartelle possono essere escluse dall'analisi antivirus quando si usa un software antivirus a livello di file nel server in cui è installato un gateway dati locale. Se queste cartelle non sono escluse, è possibile osservare gli impatti sulle prestazioni e potenzialmente altri comportamenti imprevisti, poiché queste cartelle ricevono una grande quantità di operazioni di scrittura e sono, al centro, le pipeline di dati del gateway dati locale.

Cartelle che potrebbero essere escluse dall'analisi antivirus nel server gateway dati locale

Nota

L'unità segnaposto seguente rappresenta la lettera dell'unità in cui è installato il gateway dati locale. In genere, la lettera di driver è C. Il segnaposto seguente ServiceAccount rappresenta l'account del servizio che esegue il gateway dati locale. L'account predefinito è PBIEgwService.

  • Directory di registrazione: Unità:\Windows\ServiceProfiles\ ServiceAccount \AppData\Local\Microsoft\Gateway dati locale
  • Directory di archiviazione Spool: Unità:\Windows\ServiceProfiles\ ServiceAccount \AppData\Local\Microsoft\Gateway dati locale\Spooler

Passaggi successivi