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 la passerelle se reposent généralement 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 nouvelles informations sur l’utilisation de la passerelle. Vous pouvez l’utiliser pour résoudre les problèmes des requêtes à exécution lente.

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. Cependant, ces diagnostics peuvent avoir un impact sur les performances de votre passerelle. Vous pouvez utiliser des outils de surveillance des ressources pour surveiller votre machine.

Journaux de performances

Cette fonction 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 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é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 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 est 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 entrent en vigueur. Vous voyez maintenant les fichiers de rapport générés à l’emplacement que vous avez spécifié pour ReportFilePath.

Notes

Cela peut prendre jusqu’à 10 minutes plus le temps défini pour QueryExecutionAggregationTimeInMinutes dans le fichier de configuration jusqu’à ce que les fichiers commencent à apparaître dans le dossier.

Comprendre les journaux de performance

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 de 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 de la requête de passerelle. Il pourrait être identique pour plusieurs requêtes.
Source de données 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 pourrait être une actualisation Power BI ou DirectQuery. Ou, il peut s’agir de requêtes de Power Apps et Power Automate.
DataProcessingEndTimeUTC Heure à laquelle les activités de traitement des données telles que la mise en file d’attente, la récupération des données, la compression et le traitement des données sont terminées.
DataProcessingDuration (ms) Durée des activités de traitement des données telles que la mise en file d’attente, la récupération des données, la compression et le traitement des données.
Succès 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(byte/sec) = SpoolingTotalDataSize / SpoolingDiskReadingDuration
DiskWrite (octet/s) Indique les octets écrits par la passerelle par seconde. DiskWrite(byte/sec) = 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 de la requête de passerelle. Il pourrait être identique pour plusieurs requêtes.
Source de données 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 pourrait être une actualisation Power BI ou DirectQuery. Ou, il peut s’agir de requêtes de Power Apps et 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 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 l’intervalle de temps pendant lequel les attributs de requête ont été agrégés.
AggregationEndTimeUTC Fin d’intervalle de temps pendant lequel les attributs de requête ont été agrégés.
Source de données Contient à la fois le type de source de données et la source de données.
Succès Indique si la requête a réussi ou a échoué.
AverageQueryExecutionDuration (ms) Délai d’exécution moyen de la requête pour l’intervalle de temps de l’agrégation.
MaxQueryExecutionDuration (ms) Délai d’exécution maximal de la requête pour l’intervalle de temps de l’agrégation.
MinQueryExecutionDuration (ms) Délai d’exécution minimal de la requête pour l’intervalle de temps de l’agrégation.
QueryType Type de requête. Par exemple, la requête transmise pourrait être une actualisation Power BI ou DirectQuery. Ou, il peut s’agir de requêtes de Power Apps et Power Automate.
AverageDataProcessingDuration (ms) Durée moyenne des activités de traitement des données telles que la mise en file d’attente, la récupération des données, la compression et le traitement des données pour l’intervalle de temps de l’agrégation.
MaxDataProcessingDuration (ms) Délai maximal des activités de traitement des données telles que la mise en file d’attente, la récupération des données, la compression et le traitement des données pour l’intervalle de temps de l’agrégation.
MinDataProcessingDuration (ms) Délai minimal des activités de traitement des données telles que la mise en file d’attente, la récupération des données, la compression et le traitement des données pour l’intervalle de temps de l’agrégation.
Nombre 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 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 l’intervalle de temps pour les compteurs système agrégés.
AggregationEndTimeUTC Fin de l’intervalle de temps pour les compteurs système agrégés.
CounterName Compteurs système, qui incluent l’utilisation de la mémoire et de l’UC par la passerelle, le moteur Mashup et, globalement, par la machine hébergeant la passerelle.
Max Valeur maximale du compteur système pour l’intervalle de temps d’agrégation.
Min Valeur minimale du compteur système pour l’intervalle de temps d’agrégation.
Moyen Valeur moyenne du compteur système pour l’intervalle de temps d’agrégation.

Visualiser les performances de la passerelle

Maintenant, vous pouvez visualiser les données contenues dans les fichiers journaux.

  1. Téléchargez le Modèle PBI des performances de la passerelle et ouvrez-le à l’aide de Power BI Desktop.

  2. Dans la boîte de dialogue qui s’ouvre, vérifiez que le chemin du dossier corresponde à la valeur du champ ReportFilePath.

    Fenêtre contextuelle pour le chemin du dossier.

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

  4. Vous pouvez également enregistrer ce fichier en tant que 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 de bobines

Par défaut, le stockage de bobines pour la passerelle se trouve à l’emplacement suivant : C:\Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Spooler. Veillez à surveiller cet emplacement pour garantir qu’il n’est pas plein.

Requêtes lentes

Les requêtes de longue durée 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. Cela peut être pour les actualisations Power BI ou pour les requêtes de base de données directes, comme 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 à exécution lente, 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 passerelle de données locale, sélectionnez Diagnostic > Journalisation supplémentaire.

Activez la 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. Notez que 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 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 remplacé.

  1. 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>
    
  2. Dans Passerelle de données locale > Paramètres du service, redémarrez la passerelle.

Étapes suivantes

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).