Utiliser l’analyseur de performances pour diagnostiquer les problèmes

Effectué

Avant de pouvoir résoudre un problème de performances, vous devez le trouver. L'analyseur de performances est l'outil de diagnostic principal intégré à Power BI pour identifier ce qui est lent dans un rapport et pourquoi. Il mesure le temps nécessaire à chaque visuel pour charger et décompose ce temps en catégories afin que vous puissiez identifier exactement où se trouve le goulot d’étranglement.

Ouvrir l’analyseur de performances

Dans Power BI Bureau, sélectionnez le ruban Optimize, puis sélectionnez Analyseur deperformance. Le volet Analyseur de performances s’ouvre sur le côté droit du canevas du rapport. Une fois le volet visible, vous êtes prêt à démarrer l’enregistrement.

Screenshot du ruban Optimiser dans Power BI Desktop avec l’analyseur de performances mis en surbrillance.

Note

L’analyseur de performances est également disponible dans le service Power BI. Ouvrez un rapport en mode édition, sélectionnez le menu Affichage , puis sélectionnez Analyseur de performances. Les répartitions de minutage et les fonctions de requête de copie fonctionnent de la même façon.

Enregistrer et mesurer les performances

Pour capturer des données de synchronisation, procédez comme suit :

  1. Sélectionnez Démarrer l’enregistrement dans le volet Analyseur de performances.
  2. Interagissez avec le rapport : actualisez les visuels, ajustez les segments ou naviguez entre les pages.
  3. Observez les résultats de minutage qui apparaissent en temps réel pour chaque visuel.
  4. Sélectionnez Arrêter lorsque vous avez capturé suffisamment de données.

Chaque interaction (par exemple, la modification d’un segment ou l’actualisation d’une page) crée une section dans le volet. Sous chaque section, vous voyez les visuels individuels et leurs temps de chargement.

Capture d’écran du volet Analyseur de performances montrant les résultats de minutage.

Conseil / Astuce

Effacez le cache visuel avant de mesurer pour obtenir des résultats précis. Dans Power BI Bureau, vous trouverez cette option dans le volet Analyseur de performances. Effacer les données mises en cache peut masquer les performances réelles des requêtes, donc les supprimer garantit que vous mesurez le temps d'exécution réel.

Vous pouvez également mesurer un seul visuel. Lorsque l’analyseur de performances enregistre, sélectionnez l’icône Analyser ce visuel dans le coin supérieur droit de n’importe quel visuel pour actualiser et capturer ses données de performances individuellement.

Capture d’écran du volet Analyseur de performances après l’analyse d’un seul visuel.

Comprendre les métriques de minutage

L’analyseur de performances décompose le temps de chargement de chaque visuel en plusieurs catégories.

Métrique Ce qu’il mesure
Requête DAX Temps nécessaire pour que le visuel envoie une requête au modèle sémantique et reçoive les résultats. Il s’agit du goulot d’étranglement le plus courant.
Affichage visuel Temps nécessaire pour le rendu à l'écran, y compris pour récupérer des images Web ou pour le géocodage.
Requête directe Temps pour les requêtes envoyées à une source de données externe lors de l’utilisation du mode de stockage DirectQuery.
Autre/s Temps de traitement en arrière-plan, y compris le temps d'attente que d’autres visuels se terminent, de préparation des requêtes, et de surcharge réseau.

La valeur Duration (ms) représente le temps total entre le début et la fin de chaque opération. Étant donné que la plupart des opérations s’exécutent séquentiellement sur un thread d’interface utilisateur unique, les durées signalées peuvent inclure le temps passé en attente dans une file d’attente pendant que d’autres visuels se terminent.

Lorsque vous diagnostiquez un rapport lent, concentrez-vous d’abord sur le plus grand contributeur. Si le temps de requête DAX domine, le problème se trouve dans le modèle ou la mesure. Si le temps d’affichage visuel est élevé, le visuel lui-même affiche trop de données. Si le temps de requête direct est long, la source de données externe ou le repliement des requêtes peut être le problème.

Exporter et analyser des requêtes DAX

L’une des fonctionnalités les plus utiles de l’analyseur de performances est la possibilité d’extraire la requête DAX exacte qu’un visuel envoie au modèle sémantique. Cela vous permet d’analyser pourquoi une requête spécifique est lente.

Pour exporter une requête DAX :

  1. Élargissez l'entrée d'un visuel dans le volet Analyseur de performances.
  2. Sélectionnez Exécuter en mode requête DAX pour ouvrir la requête dans un nouvel onglet automatiquement, ou sélectionnez Copier la requête pour la copier dans votre Presse-papiers.
  3. En mode requête DAX, exécutez la requête et passez en revue les résultats.

La grille de résultats affiche les données que le visuel utilise. Vous pouvez inspecter la structure de requête, identifier les opérations coûteuses et tester les optimisations directement dans la vue de requête DAX.

Capture d’écran d’une requête en mode requête DAX, après avoir été ouverte à partir de l’analyseur de performances.

La requête DAX générée par un visuel est souvent plus détaillée qu’une requête écrite manuellement. Elle comprend des variables VAR supplémentaires, des wrappers TOPN et des références de colonnes qui prennent en charge le changement de type visuel. Si Copilot est disponible, il peut vous aider à simplifier la structure de requête en mode requête DAX. Essayez une invite telle que « Supprimer les VDR et TOPN et simplifier cette requête DAX ».

Note

Dans le service Power BI, le bouton Run in DAX query view n'est pas disponible. Au lieu de cela, copiez la requête, sélectionnez Ouvrir le modèle de données pour ouvrir l’expérience de modélisation web, puis basculez vers la vue de requête DAX pour coller et l’exécuter. Les requêtes dans le web ne sont pas enregistrées après avoir fermé le navigateur.

Utiliser DAX Studio pour des diagnostics plus approfondis

DAX Studio est un outil open source gratuit qui se connecte à votre modèle sémantique local ou à un modèle sémantique publié via un point de terminaison XMLA. DAX Studio offre des fonctionnalités au-delà de la vue de requête DAX intégrée :

  • Minutage du serveur : sépare l’exécution des requêtes en moteur de formule (FE) et le temps du moteur de stockage (SE), montrant exactement où le moteur dépense son effort.
  • Plan de requête : affiche le plan de requête logique et physique, qui permet d’identifier les opérations inefficaces dans des mesures complexes.
  • Métriques de modèle : analyse les tailles de table et de colonne, la cardinalité et les statistiques de compression afin de pouvoir identifier les plus grands contributeurs à la taille du modèle.

DAX Studio est particulièrement utile lorsque vous avez besoin de diagnostics au niveau du moteur que l'analyseur de performances et la vue de requête DAX n'exposent pas, ou lorsque vous n'avez pas accès à Copilot pour simplifier les requêtes. Le flux de travail est le même : copiez une requête DAX à partir de l’analyseur de performances, collez-la dans DAX Studio et utilisez des minutages de serveur et des plans de requête pour comprendre où le moteur passe son temps.

Interpréter efficacement les résultats

Les nombres bruts seuls ne racontent pas l’histoire complète. Un diagnostic efficace nécessite de comparer les résultats dans le contexte :

  • Comparez les minutages relatifs entre les visuels. Si un visuel prend 5 000 ms et que tous les autres prennent moins de 200 ms, celui-ci est la zone de focus.
  • Identifiez la catégorie de goulot d’étranglement. Un visuel avec 4 800 ms dans l’heure de requête DAX et 200 ms dans l’affichage visuel présente un problème de modèle de données ou de mesure, et non un problème de rendu.
  • Testez avec des données représentatives. Les mesures de performances sur un jeu de données de développement avec 1 000 lignes ne reflètent pas avec précision les performances de production sur un jeu de données avec 10 millions de lignes.
  • Répétez les mesures. Une seule mesure peut être affectée par la mise en cache, la variabilité du réseau ou les processus en arrière-plan. Exécutez la mesure plusieurs fois et observez le modèle.

Prenons cet exemple : une page de rapport comporte cinq visuels. Après avoir nettoyé le cache et actualisé tous les visuels, les résultats ressemblent à ceci :

Visuel Requête DAX (ms) Affichage visuel (ms) Total (ms)
Chiffre d’affaires par région (graphique à barres) 120 80 200
Tendance mensuelle (graphique en courbes) 150 90 240
Détails du produit (tableau) 4,500 300 4,800
Carte KPI 50 30 80
Principaux clients (tableau) 180 110 290

Le tableau des détails du produit se démarque clairement des autres. Son temps de requête DAX de 4 500 ms indique une mesure coûteuse ou une demande de données excessive. L’étape suivante consiste à copier cette requête, à l’analyser en mode requête DAX et à déterminer si le problème est un calcul complexe, un modèle de filtre inefficace ou trop de données retournées.

Meilleures pratiques pour la mesure des performances

Suivez ces instructions pour obtenir des résultats fiables et exploitables à partir de l’analyseur de performances :

  • Effacez le cache visuel avant chaque test. Les résultats mis en cache masquent le temps d’exécution de requête réel.
  • Isolez les variables. Changez une chose à la fois, puis mesurez à nouveau.
  • Testez des scénarios réalistes. Utilisez des données de taille de production et des sélections de filtres typiques.
  • Lignes de base du document. Enregistrez les résultats de minutage avant et après les modifications afin de pouvoir quantifier l’amélioration.
  • Concentrez-vous sur les visuels impactant l’utilisateur. Hiérarchiser les visuels sur la page d’accueil par défaut et les pages de rapport couramment utilisées.

L’analyseur de performances est votre point de départ dans le workflow de résolution des problèmes. Il vous indique ce qui est lent et quelle catégorie (DAX, visuel, DirectQuery) contribue le plus. L’étape suivante consiste à résoudre le problème : à partir de l’optimisation DAX.