Partager via


Résoudre les problèmes de performances des machines virtuelles Windows à l’aide de l’outil CLI Diagnostics de performances (PerfInsights)

L’extension Diagnostics de performances (PerfInsights) est un outil de diagnostic autonome 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 à intervalles de cinq secondes et rapportent des insights exploitables 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 basés sur les 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, 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 une comparaison des diagnostics de performances continus et à la demande, consultez Insights et rapports diagnostics de performances

Remarque

Pour plus d’informations sur l’utilisation de PerfInsights dans 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 l’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.

Remarque

Ce scénario est automatiquement inclus dans chacun des 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 (Kb) 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 des instances SQL Server sont installées sur la machine virtuelle, PerfInsights utilise le compte NT AUTHORITY\SYSTEM pour accéder aux instances SQL Server afin de collecter des informations de configuration et d’exécuter des règles. Le compte NT AUTHORITY\SYSTEM doit disposer de l’autorisation Afficher l’état du serveur et de l’autorisation De connexion SQL pour chaque instance. Sinon, PerfInsights ne pourra pas se connecter à SQL Server et le rapport PerfInsights n’affichera aucune information relative à 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 :

  1. Téléchargez PerfInsights.zip.

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

    Capture d’écran des propriétés PerfInsights, avec l’option Débloquer mise en surbrillance.

  3. Développez le fichier compressé PerfInsights.zip dans votre disque temporaire (par défaut, il s’agit généralement du disque D).

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

    Capture d’écran de la sortie de ligne de commande de 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écuter 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 xperf et les traces des compteurs de performances pendant 5 minutes :

      PerfInsights /run advanced xp /d 300 /AcceptDisclaimerAndShareDiagnostics
      
    • Exécutez le scénario d’évaluation 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 des résultats dans le compte de stockage :

      PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics /sa <StorageAccountName> /sk <StorageAccountKey>
      

    Remarque

    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.

Capture d’écran de l’onglet Résultats sous l’onglet Vue d’ensemble du rapport PerfInsights.

Capture d’écran de l’onglet Résultats sous l’onglet Stockage du rapport PerfInsights.

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) :

Capture d’écran de la section relative au mappage de disque sous l’onglet Résultats du rapport PerfInsights.

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 :

Capture d’écran de la section relative au mappage de volume sous l’onglet Résultats du rapport PerfInsights.

Onglet SQL

Si la machine virtuelle cible héberge des instances SQL Server, un onglet supplémentaire appelé SQL apparaît dans le rapport :

Capture d’écran de l’onglet SQL et des sous-onglets en dessous.

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

Capture d’écran des informations des fichiers modeldev et modellog.

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 :

Capture d’écran de l’exemple de message envoyé par le Support Microsoft.

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 qui a été 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.