Utiliser l’analyseur de performances pour diagnostiquer les problèmes
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.
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 :
- Sélectionnez Démarrer l’enregistrement dans le volet Analyseur de performances.
- Interagissez avec le rapport : actualisez les visuels, ajustez les segments ou naviguez entre les pages.
- Observez les résultats de minutage qui apparaissent en temps réel pour chaque visuel.
- 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.
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.
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 :
- Élargissez l'entrée d'un visuel dans le volet Analyseur de performances.
- 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.
- 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.
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.