Surveiller et optimiser les performances de la passerelle de données locale
Surveillance des performances de la passerelle (préversion publique)
Pour surveiller les performances, les administrateurs de passerelles s’appuyaient traditionnellement sur la surveillance manuelle des compteurs de performances via l’outil Analyseur de performances Windows. Nous proposons désormais une journalisation supplémentaire des requêtes et un fichier de modèle PBI des performances de la passerelle pour visualiser les résultats. Cette fonctionnalité offre de nouveaux insights sur l’utilisation de la passerelle. Vous pouvez l’utiliser pour résoudre les problèmes des requêtes lentes.
Notes
Cette fonctionnalité n’est actuellement disponible que pour la passerelle de données locale en mode standard. Elle n’est pas disponible pour le mode personnel.
Notes
Les diagnostics de passerelle ne capturent pas les diagnostics directement liés à la machine (virtuelle) et à son réseau, comme la bande passante ou la latence. Toutefois, ces diagnostics peuvent affecter les performances de votre passerelle. Vous pouvez utiliser des outils de surveillance des ressources pour surveiller votre machine.
Journalisation des performances
Cette fonctionnalité est désormais activée par défaut.
Notes
- Actuellement, les requêtes de la capacité Premium à la passerelle sont parfois oubliées dans cette journalisation. Nous travaillons activement à résoudre ce problème.
- Actuellement, les requêtes de rapport paginé Power BI ne sont pas enregistrées à l’aide de cet outil.
Configurer la journalisation des performances
Il existe d’autres valeurs dans le fichier de configuration C:\Program Files\On-premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config
que vous pouvez mettre à jour au besoin :
- ReportFilePath : détermine le chemin d’accès au stockage des trois fichiers journaux. Par défaut, ce chemin est \Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report ou \Windows\ServiceProfiles\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report. Le chemin d’accès dépend de la version du système d’exploitation. Si vous utilisez un compte de service pour la passerelle autre que PBIEgwService, remplacez cette partie du chemin d’accès par le nom du compte de service.
- ReportFileCount : détermine le nombre de fichiers journaux de chaque type à conserver. La valeur par défaut est 10.
- ReportFileSizeInBytes : détermine la taille du fichier à conserver. La valeur par défaut 104,857,600.
- QueryExecutionAggregationTimeInMinutes : détermine le nombre de minutes pendant lesquelles les informations d’exécution des requêtes sont agrégées. La valeur par défaut est 5.
- SystemCounterAggregationTimeInMinutes : détermine le nombre de minutes pendant lesquelles le compteur système est agrégé. La valeur par défaut est 5.
Après avoir apporté les modifications au fichier de configuration, redémarrez la passerelle pour que ces valeurs de configuration prennent effet. Vous voyez maintenant les fichiers de rapport générés à l’emplacement que vous avez spécifié pour ReportFilePath.
Notes
Jusqu’à 10 minutes plus le temps défini pour QueryExecutionAggregationTimeInMinutes dans le fichier de configuration peuvent s’écouler avant que les fichiers commencent à apparaître dans le dossier.
Comprendre les journaux de performances
Lorsque vous activez cette fonctionnalité, trois nouveaux fichiers journaux sont créés :
- Le rapport d’exécution de la requête
- Le rapport de démarrage de la requête
- Le rapport d’agrégation de l’exécution de la requête
- Le rapport d’agrégation du compteur système
Le rapport d’exécution de la requête contient des informations détaillées sur l’exécution de la requête. Les attributs suivants sont capturés.
Attribut | Description |
---|---|
GatewayObjectId | Identificateur unique de la passerelle. |
RequestId | Identificateur unique d’une requête de passerelle. Il peut être identique pour plusieurs requêtes. |
DataSource | Contient à la fois le type de source de données et la source de données. |
QueryTrackingId | Identificateur unique d’une requête. Il peut cependant se répéter si une requête échoue et est réessayée. |
QueryExecutionEndTimeUTC | Heure à laquelle l’exécution de la requête s’est terminée. |
QueryExecutionDuration (ms) | Durée d’exécution d’une requête. |
QueryType | Type de requête. Par exemple, la requête transmise peut être une actualisation Power BI ou DirectQuery. Ou bien, il peut s’agir de requêtes à partir de Power Apps et de Power Automate. |
DataProcessingEndTimeUTC | Heure à laquelle les activités de traitement de données comme la mise en file d’attente, l’extraction de données, la compression et le traitement de données sont terminées. |
DataProcessingDuration (ms) | Durée des activités de traitement de données comme la mise en file d’attente, l’extraction de données, la compression et le traitement de données. |
Success | Indique si la requête a réussi ou a échoué. |
ErrorMessage | Si la requête a échoué, indique le message d’erreur. |
SpoolingDiskWritingDuration (ms) | Indique le temps nécessaire à la passerelle pour écrire toutes les données sur le disque |
SpoolingDiskReadingDuration (ms) | Indique le temps nécessaire à la passerelle pour lire toutes les données sur le disque |
SpoolingTotalDataSize (octets) | Taille (compressée) des données écrites/lues sur le disque |
DataReadingAndSerializationDuration (ms) | Indique le temps nécessaire à la passerelle pour lire les données de la source de données et les sérialiser en paquets. |
DiskRead (octet/s) | Indique les octets lus par la passerelle par seconde. DiskRead(octet/s) = SpoolingTotalDataSize / SpoolingDiskReadingDuration |
DiskWrite (octet/s) | Indique les octets écrits par la passerelle par seconde. DiskWrite(octet/s) = SpoolingTotalDataSize / SpoolingDiskWritingDuration |
Le rapport de démarrage de la requête contient la requête et l’heure de début de la requête. Les attributs suivants sont capturés.
Attribut | Description |
---|---|
GatewayObjectId | Identificateur unique de la passerelle. |
RequestId | Identificateur unique d’une requête de passerelle. Il peut être identique pour plusieurs requêtes. |
DataSource | Contient à la fois le type de source de données et la source de données. |
QueryTrackingId | Identificateur unique d’une requête. Il peut cependant se répéter si une requête échoue et est réessayée. |
QueryExecutionStartTimeUTC | Heure à laquelle l’exécution de la requête a commencé. |
QueryType | Type de requête. Par exemple, la requête transmise peut être une actualisation Power BI ou DirectQuery. Ou bien, il peut s’agir de requêtes à partir de Power Apps et de Power Automate. |
QueryText | Requête complète encodée en base64. |
Le rapport d’agrégation de l’exécution de la requête contient les informations de requête agrégées sur un intervalle de temps par GatewayObjectId, DataSource, Success et QueryType. La valeur par défaut est de 5 minutes, mais vous pouvez la changer. Les attributs suivants sont capturés.
Attribut | Description |
---|---|
GatewayObjectId | Identificateur unique de la passerelle. |
AggregationStartTimeUTC | Début de la fenêtre de temps pendant laquelle les attributs de requête ont été agrégés. |
AggregationEndTimeUTC | Fin de la fenêtre de temps pendant laquelle les attributs de requête ont été agrégés. |
DataSource | Contient à la fois le type de source de données et la source de données. |
Success | Indique si la requête a réussi ou a échoué. |
AverageQueryExecutionDuration (ms) | Durée d’exécution moyenne de la requête pour la fenêtre de temps de l’agrégation. |
MaxQueryExecutionDuration (ms) | Durée d’exécution maximale de la requête pour la fenêtre de temps de l’agrégation. |
MinQueryExecutionDuration (ms) | Durée d’exécution minimale de la requête pour la fenêtre de temps de l’agrégation. |
QueryType | Type de requête. Par exemple, la requête transmise peut être une actualisation Power BI ou DirectQuery. Ou bien, il peut s’agir de requêtes à partir de Power Apps et de Power Automate. |
AverageDataProcessingDuration (ms) | Durée moyenne des activités de traitement de données comme la mise en file d’attente, l’extraction de données, la compression et le traitement de données pour la fenêtre de temps de l’agrégation. |
MaxDataProcessingDuration (ms) | Durée maximale des activités de traitement de données comme la mise en file d’attente, l’extraction de données, la compression et le traitement de données pour la fenêtre de temps de l’agrégation. |
MinDataProcessingDuration (ms) | Durée minimale des activités de traitement de données comme la mise en file d’attente, l’extraction de données, la compression et le traitement de données pour la fenêtre de temps de l’agrégation. |
Count | le nombre de requêtes ; |
Le rapport d’agrégation du compteur système contient des valeurs de compteur système agrégées sur un intervalle de temps. La valeur par défaut est de 5 minutes, mais vous pouvez la changer. Les attributs suivants sont capturés.
Attribut | Description |
---|---|
GatewayObjectId | Identificateur unique de la passerelle. |
AggregationStartTimeUTC | Début de la fenêtre de temps pour les compteurs système qui ont été agrégés. |
AggregationEndTimeUTC | Fin de la fenêtre de temps pour les compteurs système qui ont été agrégés. |
CounterName | Compteurs système, qui incluent l’utilisation de la mémoire et du processeur par la passerelle, le moteur Mashup et, globalement, par la machine hébergeant la passerelle. |
Max | Valeur maximale du compteur système pour la fenêtre de temps d’agrégation. |
Min | Valeur minimale du compteur système pour la fenêtre de temps d’agrégation. |
Moyenne | Valeur moyenne du compteur système pour la fenêtre de temps d’agrégation. |
Visualiser les performances de la passerelle
Maintenant, vous pouvez visualiser les données contenues dans les fichiers journaux.
Téléchargez le modèle PBI des performances de la passerelle et ouvrez-le à l’aide de Power BI Desktop.
Dans la boîte de dialogue qui s’ouvre, vérifiez que le chemin d’accès du dossier correspond à la valeur du champ ReportFilePath.
Sélectionnez Charger et le fichier modèle commence à charger les données à partir de vos fichiers journaux. Tous les visuels sont remplis à l’aide des données des rapports.
Vous pouvez également enregistrer ce fichier au format PBIX et le publier sur votre service pour des actualisations automatiques. Pour en savoir plus, consultez Publier des jeux de données et des rapports à partir de Power BI Desktop.
Vous pouvez également personnaliser ce fichier de modèle en fonction de vos besoins. Pour plus d’informations sur les modèles Power BI, consultez ce billet de blog Microsoft Power BI.
Surveillance du stockage en file d’attente
Par défaut, le stockage en file d’attente pour la passerelle se trouve à l’emplacement suivant : C:\Users\PBIEgwService\AppData\Local\Microsoft\Passerelle de données locale\Spooler. Veillez à surveiller cet emplacement pour vous assurer qu’il y a suffisamment d’espace disque libre. Plus d’informations : Données de mise en file d’attente de la passerelle
Requêtes lentes
Les requêtes lentes peuvent nécessiter une modification supplémentaire de votre source de données ou une optimisation supplémentaire de la requête elle-même. Il peut s’agir d’actualisations Power BI ou de requêtes de base de données directes, telles que Power BI DirectQuery, Power Apps ou Azure Logic Apps.
Par défaut, la passerelle procède à une journalisation de base. Si vous étudiez des requêtes lentes, en plus d’utiliser la fonction de surveillance des performances, vous pouvez temporairement activer Journalisation supplémentaire pour recueillir des informations de journal supplémentaires. Pour ce faire, dans l’application de la passerelle de données locale, sélectionnez Diagnostic>Journalisation supplémentaire.
Selon l’utilisation de la passerelle, l’activation de ce paramètre peut considérablement augmenter la taille du journal. Nous recommandons, une fois les journaux consultés, de désactiver la journalisation supplémentaire. Nous vous déconseillons de laisser ce paramètre activé dans le cadre de l’utilisation normale de la passerelle.
Lorsque vous activez ce paramètre, vous pouvez voir des informations supplémentaires (contexte de l’application dans l’exemple suivant) dans les journaux de passerelle qui indiquent à quel jeu de données ou rapport appartient cette requête. Tous les services ne sont pas en mesure d’envoyer ces informations pour le moment et nous essayons de remédier aux lacunes connues.
QueryAdditionalInformation is: {
"Application": "Dataset-Premium",
"ObjectId": "6de5b524-8a04-4578-961d-e65b2bf3dcd4",
"ApplicationContext": "{\"DatasetId\":\"6de5b524-8a04-4578-961d-ej67gdf3dcd4\",\"Sources\":[{\"ReportId\":\"e0cec7bc-f53d-4174-b551-678656fba\"}]}"
}.
Optimiser les performances en diffusant en continu des données
Par défaut, la passerelle de données locale met les données en file d’attente avant de les renvoyer vers le jeu de données, ce qui peut potentiellement ralentir les performances pendant les opérations de chargement et d’actualisation des données. Le comportement par défaut peut être substitué.
Dans le fichier C:\Program Files\On-Premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config, définissez le paramètre StreamBeforeRequestCompletes sur True, puis enregistrez-le.
<setting name="StreamBeforeRequestCompletes" serializeAs="String"> <value>True</value> </setting>
Dans Passerelle de données locale>Paramètre de service, redémarrez la passerelle.