Résoudre les problèmes de performances des machines virtuelles Windows à l’aide de l’outil CLI Diagnostics de performances (PerfInsights)
S’applique à : ✔️ Machine virtuelles Windows
L’extension Diagnostics de performances (PerfInsights) est un outil de diagnostic auto-aide qui collecte et analyse les données de diagnostic et fournit un rapport pour résoudre les problèmes de performances des machines virtuelles Windows dans Azure. Utilisez diagnostics de performances pour identifier et résoudre les problèmes de performances dans l’un des deux modes suivants :
- Les diagnostics continus (préversion) collectent des données à cinq secondes intervalles et indiquent des insights actionnables sur l’utilisation élevée des ressources toutes les cinq minutes.
- Les diagnostics à la demande vous aident à résoudre un problème de performances continu avec des données, des insights et des recommandations plus détaillés en fonction des données collectées à un moment donné.
Cet article explique comment télécharger l’extension Diagnostics de performances sur votre machine virtuelle Windows et exécuter l’outil à l’aide de l’outil CLI. Vous pouvez également exécuter des diagnostics de performances à partir du portail et déployer l’extension Diagnostics de performances à l’aide d’un modèle ARM ou de PowerShell.
Si vous rencontrez des problèmes de performances avec des machines virtuelles, avant de contacter le support technique, exécutez Diagnostics de performances.
Scénarios de résolution des problèmes pris en charge
Vous pouvez utiliser diagnostics de performances pour résoudre différents scénarios. Les sections suivantes décrivent les scénarios courants d’utilisation des diagnostics de performances continus et à la demande pour identifier et résoudre les problèmes de performances. Pour obtenir une comparaison des diagnostics de performances continus et à la demande, consultez les insights et rapports sur les diagnostics de performances
Note
Pour plus d’informations sur l’utilisation de PerfInsights sur un groupe de machines virtuelles identiques Azure, consultez PerfInsights et instances de machine virtuelle de groupe identique.
Diagnostics continus
Les diagnostics de performances continues vous permettent d’identifier une utilisation élevée des ressources en surveillant régulièrement votre machine virtuelle pour :
- Utilisation élevée de l’UC : détecte les périodes dʼutilisation élevée du processeur et montre les principaux utilisateurs du processeur pendant ces périodes.
- Utilisation élevée de la mémoire : détecte les périodes dʼutilisation élevée de la mémoire et montre les principaux utilisateurs de la mémoire pendant ces périodes.
- Utilisation élevée du disque : détecte les périodes dʼutilisation élevée de disque sur les disques physiques et montre les principaux utilisateurs de disque pendant ces périodes.
Diagnostics à la demande
Analyse rapide
Ce scénario collecte la configuration de disque et d’autres informations importantes, notamment :
Journaux d’événements
État du réseau pour toutes les connexions entrantes et sortantes
Paramètres de configuration du pare-feu et du réseau
Liste des tâches pour toutes les applications en cours d’exécution sur le système
Paramètres de configuration de base de données Microsoft SQL Server (si la machine virtuelle est identifiée en tant que serveur exécutant SQL Server)
Compteurs de fiabilité de stockage
Correctifs logiciels Windows importants
Pilotes de filtre installés
Il s’agit d’une collecte passive d’informations qui ne sont pas censées affecter le système.
Note
Ce scénario est automatiquement inclus dans les scénarios suivants.
Benchmarking
Ce scénario exécute le test d’évaluation Diskspd (E/S par seconde et Mbits/s) pour tous les disques joints à la machine virtuelle.
Remarque
Ce scénario peut affecter le système et ne doit pas être exécuté sur un système de production en direct. Si nécessaire, exécutez ce scénario dans une fenêtre de maintenance dédiée pour éviter tout problème. Une charge de travail accrue qui est provoquée par un test d’évaluation ou un suivi peut nuire aux performances de votre machine virtuelle.
Analyse des performances
Ce scénario exécute un suivi du compteur de performances en utilisant les compteurs spécifiés dans le fichier RuleEngineConfig.json. Si la machine virtuelle est identifiée en tant que serveur qui exécute SQL Server, elle exécute un suivi du compteur de performances. Il le fait en utilisant les compteurs trouvés dans le fichier RuleEngineConfig.json. Ce scénario inclut également des données de diagnostics de performances.
Analyse de fichiers Azure
Ce scénario exécute une capture du compteur de performances spéciale ainsi qu’un suivi du réseau. La capture inclut tous les compteurs de partages de clients SMB. Voici quelques compteurs de performances de partages de clients SMB clés, qui font partie de la capture :
Type | Compteur de partages de clients SMB |
---|---|
E/S par seconde | Requêtes de données/s |
Requêtes de lecture/s | |
Requêtes d’écriture/s | |
Latence | Requête de données/s (moyenne) |
Lecture/s (moyenne) | |
Écriture/s (moyenne) | |
Taille d’E/S | Moy. Octets/requête de données |
Moy. Octets/lecture | |
Moy. Octets/écriture | |
Débit | Octets de données/s |
Octets de lecture/s | |
Octets d’écriture/s | |
Longueur de la file d’attente | Avg. Longueur de la file d’attente de lecture |
Avg. Longueur de la file d’attente d’écriture | |
Avg. Longueur de la file d’attente de données |
Analyse avancée des performances
Lorsque vous exécutez une analyse avancée des performances, vous sélectionnez des traces à exécuter en parallèle. Vous pouvez toutes les exécuter (compteur de performances, Xperf, réseau et StorPort) si vous le souhaitez.
Remarque
Ce scénario peut affecter le système et ne doit pas être exécuté sur un système de production en direct. Si nécessaire, exécutez ce scénario dans une fenêtre de maintenance dédiée pour éviter tout problème. Une charge de travail accrue qui est provoquée par un test d’évaluation ou un suivi peut nuire aux performances de votre machine virtuelle.
Quelles informations les diagnostics de performances collectent-ils dans Windows ?
Les informations portant sur la configuration de la machine virtuelle Windows, des disques ou des pools de stockage, les compteurs de performances, les journaux d’activité et les différentes traces sont recueillies. Cela dépend du scénario de performances que vous utilisez. Le tableau suivant fournit les détails :
Données collectées | Analyse rapide des performances | Benchmarking | Analyse des performances | Analyse de fichiers Azure | Analyse avancée des performances |
---|---|---|---|---|---|
Informations tirées des journaux d’événements | Oui | Oui | Oui | Oui | Oui |
Informations système | Oui | Oui | Oui | Oui | Oui |
Mappage de volume | Oui | Oui | Oui | Oui | Oui |
Mappage de disque | Oui | Oui | Oui | Oui | Oui |
Tâches en cours d’exécution | Oui | Oui | Oui | Oui | Oui |
Compteurs de fiabilité de stockage | Oui | Oui | Oui | Oui | Oui |
Informations sur le stockage | Oui | Oui | Oui | Oui | Oui |
Sortie Fsutil | Oui | Oui | Oui | Oui | Oui |
Informations du pilote de filtre | Oui | Oui | Oui | Oui | Oui |
Sortie Netstat | Oui | Oui | Oui | Oui | Oui |
Configuration réseau | Oui | Oui | Oui | Oui | Oui |
Configuration du pare-feu | Oui | Oui | Oui | Oui | Oui |
Configuration de SQL Server | Oui | Oui | Oui | Oui | Oui |
Suivis des diagnostics de performances * | Oui | Oui | Oui | Oui | Oui |
Suivi du compteur de performances ** | Oui | Oui | |||
Suivi du compteur SMB ** | Oui | ||||
Suivi du compteur SQL Server ** | Oui | Oui | |||
Suivi XPerf | Oui | ||||
Suivi StorPort | Oui | ||||
Suivi réseau | Oui | Oui | |||
Suivi dʼévaluation Diskspd *** | Oui | ||||
Suivis des diagnostics de performances (*)
Exécute un moteur basé sur des règles en arrière-plan afin de collecter des données et diagnostiquer les problèmes de performances en cours. Les règles sont affichées dans le rapport, sous l’onglet Catégorie -> Recherche.
Chaque règle comprend les éléments suivants :
- Recherche : description de la recherche.
- Recommandation : recommandation relative à l’action pouvant être entreprise pour la recherche. Il existe également des liens de référence vers la documentation contenant plus d’informations sur la recherche et/ou la recommandation.
- Niveau d’impact : représente le potentiel d’impact sur les performances.
Les catégories de règles actuellement prises en charge sont les suivantes :
- Utilisation élevée des ressources :
- Utilisation élevée de l’UC : détecte les périodes dʼutilisation élevée du processeur et montre les principaux utilisateurs du processeur pendant ces périodes.
- Utilisation élevée de la mémoire : détecte les périodes dʼutilisation élevée de la mémoire et montre les principaux utilisateurs de la mémoire pendant ces périodes.
- Utilisation élevée du disque : détecte les périodes dʼutilisation élevée de disque sur les disques physiques et montre les principaux utilisateurs de disque pendant ces périodes.
- Utilisation du disque en haute résolution : montre les mesures dʼIOPS, de débit et de latence dʼE/S par intervalles de 50 millisecondes pour chaque disque physique. Cela permet d’identifier rapidement les périodes de limitation de disque.
- Base de connaissances : détecte si des articles spécifiques de la Base de connaissances (Ko) ne sont pas installés.
- Disque : détecte des paramètres de configuration de disque spécifiques.
- SQL : détecte des paramètres SQL spécifiques.
- Réseau : détecte des paramètres réseau spécifiques.
- Cluster de serveurs : détecte des paramètres de configuration de cluster de serveurs spécifiques.
- Système : détecte des paramètres de configuration système spécifiques.
- CLR : détecte les longues pauses de nettoyage de la mémoire sur les processus gérés.
Remarque
Actuellement, les versions Windows incluant .NET Framework 4.5 ou versions ultérieures sont prises en charge.
Suivi du compteur de performances (\*\*)
Collecte les compteurs de performances suivants :
- \System, \Process, \Processor, \Memory, \Thread, \PhysicalDisk, et \LogicalDisk
- \Cache\Dirty Pages, \Cache\Lazy Write Flushes/sec, \Server\Pool Nonpaged, Failures, et \Server\Pool Paged Failures
- Certains compteurs sous \Network Interface, \IPv4\Datagrams, \IPv6\Datagrams, \TCPv4\Segments, \TCPv6\Segments, \Network Adapter, \WFPv4\Packets, \WFPv6\Packets, \UDPv4\Datagrams, \UDPv6\Datagrams, \TCPv4\Connection, \TCPv6\Connection, \Network QoS Policy\Packets, \Per Processor Network Interface Card Activity, and \Microsoft Winsock BSP
Pour les instances SQL Server
- \SQL Server:Buffer Manager, \SQLServer:Resource Pool Stats, et \SQLServer:SQL Statistics\
- \SQLServer:Locks, \SQLServer:General, Statistics
- \SQLServer:Access Methods
Pour les fichiers Azure
\SMB Client Shares
Suivi dʼévaluation Diskspd (***)
Tests de charge de travail d’E/S Diskspd (disque de système d’exploitation [écriture] et disques du pool [lecture/écriture])
Exécuter les diagnostics de performances sur votre machine virtuelle à l’aide de l’outil CLI
Que dois-je savoir avant d’exécuter l’outil ?
Exigences de l’outil
Cet outil doit être exécuté sur la machine virtuelle qui présente le problème de performances.
Les systèmes dʼexploitation suivants ne sont pas pris en charge :
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows 11
- Windows 10
Accès à SQL Server
Si la machine virtuelle dispose d’instances SQL Server installées dessus, PerfInsights utilise le compte NT AUTHORITY\SYSTEM pour accéder aux instances SQL Server pour collecter des informations de configuration et exécuter des règles. Le compte NT AUTHORITY\SYSTEM doit disposer de l’autorisation d’état du serveur d’affichage et connecter l’autorisation SQL pour chaque instance. Sinon, PerfInsights ne pourra pas se connecter au serveur SQL Server et le rapport PerfInsights n’affiche aucune information liée à SQL Server.
Problèmes possibles lorsque vous exécutez l’outil sur des machines virtuelles de production
Pour les scénarios d’évaluation ou d’« Analyse avancée des performances » configurés pour utiliser XPerf ou DiskSpd, l’outil peut nuire aux performances de la machine virtuelle. Ces scénarios ne doivent pas être exécutés dans un environnement de production en direct.
Pour les scénarios d’évaluation ou d’« Analyse avancée des performances » configurés pour utiliser DiskSpd, assurez-vous qu’aucune autre activité en arrière-plan n’interfère avec la charge de travail d’E/S.
Par défaut, l’outil utilise le disque de stockage temporaire pour collecter les données. Si le suivi est activé sur une durée plus longue, la quantité de données collectées peut être pertinente. Cela peut réduire la disponibilité de l’espace sur le disque temporaire, et donc affecter toute application s’appuyant sur ce disque.
Comment exécuter PerfInsights ?
Vous pouvez exécuter PerfInsights sur une machine virtuelle en installant l’extension de diagnostic de performance des machines virtuelles Azure. Vous pouvez également l’exécuter en tant qu’outil autonome.
Installer et exécuter PerfInsights à partir du portail Azure
Pour plus d’informations sur cette option, consultez Installer l’extension de diagnostic de performance Azure.
Exécuter PerfInsights en mode autonome
Pour exécuter l’outil PerfInsights, suivez ces étapes :
Téléchargez PerfInsights.zip.
Débloquez le fichier PerfInsights.zip. Pour ce faire, cliquez avec le bouton droit sur le fichier PerfInsights.zip, puis sélectionnez Propriétés. Sous l’onglet Général, sélectionnez Débloquer, puis OK. Cette action garantit que l’outil s’exécute sans invite de sécurité supplémentaire.
Développez le fichier compressé PerfInsights.zip dans votre disque temporaire (par défaut, il s’agit généralement du disque D).
Ouvrez l’invite de commandes Windows en tant qu’administrateur, puis exécutez PerfInsights.exe pour afficher les paramètres de ligne de commande disponibles.
cd <the path of PerfInsights folder> PerfInsights
La syntaxe de base pour l’exécution de scénarios PerfInsights est la suivante :
PerfInsights /run <ScenarioName> [AdditionalOptions]
Recherchez tous les scénarios et options disponibles à l’aide de la commande /list :
PerfInsights /list
Voici des exemples d’utilisation de l’outil CLI pour exécuter les différents scénarios de résolution des problèmes :
Exécutez des diagnostics de performances continus :
PerfInsights /run always on /sau
Pour arrêter les diagnostics de performances continus, appuyez sur Ctrl+C ou fermez le terminal.
Exécutez le scénario d’analyse des performances pendant 5 minutes :
PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics
Exécutez le scénario avancé avec les traces de compteurs xperf et de performances pendant 5 minutes :
PerfInsights /run advanced xp /d 300 /AcceptDisclaimerAndShareDiagnostics
Exécutez le scénario de benchmark pendant 5 minutes :
PerfInsights /run benchmark /d 300 /AcceptDisclaimerAndShareDiagnostics
Exécutez le scénario d’analyse des performances pendant 5 minutes et chargez le fichier zip de résultat sur le compte de stockage :
PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics /sa <StorageAccountName> /sk <StorageAccountKey>
Note
Avant d’exécuter un scénario, PerfInsights invite l’utilisateur à accepter de partager les informations de diagnostic et à accepter le CLUF. Utilisez l’option /AcceptDisclaimerAndShareDiagnostics pour ignorer ces messages.
Si vous avez un ticket de support actif avec Microsoft et que vous exécutez PerfInsights sur demande de l’ingénieur de support avec qui vous travaillez, assurez-vous de fournir le numéro du ticket de support à l’aide de l’option /sr.
Par défaut, PerfInsights va tenter de se mettre à jour vers la dernière version si elle est disponible. Utilisez le paramètre /SkipAutoUpdate ou /sau pour ignorer la mise à jour automatique.
Si le commutateur de durée /d n’est pas spécifié, PerfInsights vous invitera à reproduire le problème lors de l’exécution de vmslow, d’azurefiles et des scénarios avancés.
Quand les traces ou les opérations sont terminées, un nouveau fichier apparaît dans le même dossier que PerfInsights. Le nom du fichier est PerformanceDiagnostics_aaaa-MM-jj_hh-mm-ss-fff.zip. Vous pouvez envoyer ce fichier à l’agent de Support pour analyse ou ouvrir le rapport dans le fichier zip pour examiner les résultats et recommandations.
Examinez le rapport de diagnostics
Le fichier PerformanceDiagnostics_aaaa-MM-jj_hh-mm-ss-fff.zip inclut un rapport HTML détaillant les conclusions de PerfInsights. Pour consulter le rapport, développez le fichier PerformanceDiagnostics_aaaa-MM-jj_hh-mm-ss-fff.zip, puis ouvrez le fichier PerfInsights Report.html.
Sélectionnez l’onglet Conclusions.
Remarque
Les conclusions identifiées comme étant d’importance élevée sont des problèmes connus qui peuvent conduire à des problèmes de performances. Les conclusions identifiées comme étant d’importance moyenne représentent des configurations non optimales ne provoquant pas forcément de problèmes de performances. Les conclusions identifiées comme étant d’importance faible sont des instructions données à titre informatif uniquement.
Examinez les suggestions et les liens pour toutes les conclusions d’importance élevée et moyenne. En savoir plus sur la façon dont elles peuvent affecter les performances, et sur les meilleures pratiques pour les configurations de performances optimisées.
Onglet Stockage
La section Conclusions affiche les différentes conclusions et recommandations relatives au stockage.
Les sections Mappage de disque et Mappage de volume décrivent les liens entre volumes logiques et disques physiques.
Dans la perspective du disque physique (Mappage de disque), le tableau affiche tous les volumes logiques en cours d’exécution sur le disque. Dans l’exemple suivant, PhysicalDrive2 exécute deux volumes logiques créés sur plusieurs partitions (J et H) :
Dans la perspective du volume (Mappage de volume), les tables affichent tous les disques physiques sous chaque volume logique. Pour les disques RAID/dynamiques, vous pouvez exécuter un volume logique sur plusieurs disques physiques. Dans l’exemple suivant, C:\mount est un point de montage configuré en tant que SpannedDisk sur les disques physiques 2 et 3 :
Onglet SQL
Si la machine virtuelle cible héberge des instances SQL Server, un onglet supplémentaire appelé SQL apparaît dans le rapport :
Cette section contient un onglet Résultats, et des sous-onglets supplémentaires pour chacune des instances SQL Server hébergées sur la machine virtuelle.
L’onglet Conclusions contient une liste de tous les problèmes de performances relatifs à SQL trouvés, ainsi que les recommandations correspondantes.
Dans l’exemple suivant, PhysicalDrive0 (en cours d’exécution du lecteur C) s’affiche. Cela est dû au fait que les fichiers modeldev et modellog se trouvent sur le disque C, et ils sont de types différents (par exemple, fichier de données et journal des transactions, respectivement).
Les onglets des instances spécifiques de SQL Server contiennent une section générale qui affiche des informations de base sur l’instance sélectionnée. Les onglets contiennent également des sections supplémentaires pour les informations avancées, notamment les paramètres, les configurations et les options utilisateur.
Onglet Diagnostic
L’onglet Diagnostic contient des informations sur les principaux consommateurs de processeur, de disque et de mémoire sur l’ordinateur pendant l’exécution des diagnostics de performances. Vous pouvez également obtenir des informations sur les correctifs critiques non présents dans le système, la liste des tâches et les événements système importants.
Références aux outils externes utilisés
Diskspd
Diskspd est un générateur de charge de stockage et un outil de test de performances de Microsoft. Pour plus d’informations, consultez Diskspd.
XPerf
Xperf est un outil en ligne de commande qui permet de capturer des suivis à partir de Windows Performance Toolkit. Pour plus d’informations, consultez Windows Performance Toolkit : Xperf.
Prochaines étapes
Vous pouvez charger les journaux de diagnostic et les rapports vers le Support Microsoft pour un examen approfondi. Le Support peut vous demander de transmettre la sortie générée par PerfInsights pour faciliter le processus de dépannage.
La capture d’écran suivante affiche un message semblable à ce que vous pouvez recevoir :
Suivez les instructions dans le message pour accéder à l’espace de travail de transfert de fichier. Pour plus de sécurité, vous devez modifier votre mot de passe à la première utilisation.
Une fois connecté, vous trouverez une boîte de dialogue pour charger le fichier PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip collecté par PerfInsights.
Contactez-nous pour obtenir de l’aide
Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.