Dépanner les performances de la machine virtuelle Azure sous Linux ou Windows

Cet article décrit le dépannage des performances génériques des machines virtuelles (VM) par le biais de la surveillance et de l’observation des goulots d’étranglement et fournit des solutions possibles aux problèmes qui peuvent survenir. Outre la surveillance, vous pouvez également utiliser Perfinsights qui peut fournir un rapport avec des recommandations sur les meilleures pratiques et les principaux goulots d’étranglement autour des E/S/CPU/Mémoire. PerfInsights est disponible à la fois sur la machine virtuelle Windows et Linux dans Azure.

Cet article décrit l’utilisation de la surveillance pour diagnostiquer les goulots d’étranglement des performances.

Activation de la surveillance

Surveillance des machines virtuelles Azure IAAS

Pour surveiller la machine virtuelle invitée, utilisez Azure VM Monitoring, qui vous alertera de certaines conditions de ressources de haut niveau. Pour vérifier si les diagnostics de machine virtuelle sont activés, consultez Présentation des journaux de ressources Azure. Si vous voyez ce qui suit, les diagnostics ne sont probablement pas activés :

La capture d’écran affiche le message La surveillance n’est peut-être pas activée.

Activer les diagnostics de machine virtuelle via le portail Microsoft Azure

Pour activer les diagnostics de VM :

  1. Allez à la machine virtuelle.

  2. Cliquez sur Paramètres de diagnostic.

  3. Sélectionnez le compte de stockage et cliquez sur Activer la surveillance au niveau des invités.

    Capture d’écran montrant la procédure à suivre pour activer les paramètres de la machine virtuelle.

Vous pouvez vérifier le compte de stockage utilisé pour la configuration des diagnostics à partir de l’onglet Agent sous Paramètres de diagnostic.

La capture d’écran met en évidence le compte de stockage sous l’onglet Agent.

Activer les diagnostics de compte de stockage via le portail Azure

Le stockage est un niveau très important lorsque nous avons l’intention d’analyser les performances d’E/S pour une machine virtuelle dans Azure. Pour les mesures liées au stockage, nous devons activer les diagnostics comme étape supplémentaire. Cela pourrait également être activé, si nous voulons uniquement analyser les compteurs liés au stockage.

  1. Identifiez le ou les comptes de stockage que votre machine virtuelle utilise en sélectionnant la machine virtuelle. Cliquez sur Paramètres, puis sur Disques :

    La capture d’écran montre le disque du système d’exploitation sous les disques.

  2. Dans le portail, accédez au compte de stockage (ou aux comptes) de la VM et suivez les étapes suivantes :

    1. Cliquez sur aperçu pour le compte de stockage que vous avez trouvé à l’étape ci-dessus.
    2. Les mesures par défaut seraient affichées.

    La capture d’écran montre les mesures par défaut sous Aperçu.

  3. Cliquez sur l’une des mesures, ce qui affichera un autre panneau avec plus d’options pour configurer et ajouter des mesures.

    La capture d’écran montre comment ajouter et configurer des mesures.

Pour configurer ces options :

  1. Sélectionnez Mesures.
  2. Sélectionnez la Ressource (compte de stockage).
  3. Sélectionnez l’espace de noms
  4. Sélectionnez Mesure.
  5. Sélectionnez le type d’Agrégation.
  6. Vous pouvez épingler cette vue sur le tableau de bord.

Observer les goulots d’étranglement

Une fois que nous avons terminé le processus de configuration initiale des métriques nécessaires et après avoir activé les diagnostics pour la machine virtuelle et le compte de stockage associé, nous pouvons passer à la phase d’analyse.

Accéder à la surveillance

Sélectionnez la machine virtuelle Azure que vous souhaitez examiner, puis cliquez sur Surveiller.

La capture d’écran montre le panneau de surveillance.

Délais d’observation

Pour identifier si vous avez des goulots d’étranglement de ressources, examinez vos données. Si vous constatez que votre machine fonctionnait correctement, mais qu’il a été signalé que les performances se sont récemment dégradées, examinez une plage de données qui englobe les données de mesure des performances avant la modification signalée, pendant et après le problème.

Vérifier le goulot d’étranglement du processeur

Capture d’écran montrant la procédure à suivre pour vérifier le goulot d’étranglement du processeur.

  1. Modifiez le graphique.
  2. Définissez la plage de temps.
  3. Vous devez ensuite ajouter dans le compteur : système d’exploitation invité pourcentage processeur.
  4. Enregistrez.

Lorsque vous examinez des problèmes de performances, soyez conscient des tendances et comprenez si elles vous affectent. Dans les sections suivantes, nous utiliserons les graphiques de surveillance du portail pour afficher les tendances. Ils peuvent également être utiles pour croiser les différents comportements des ressources au cours de la même période. Pour personnaliser les graphiques, cliquez sur Plateforme de données Azure Monitor.

Pointes - Les pointes peuvent être liées à une tâche planifiée ou à un événement connu. Si vous pouvez identifier la tâche, déterminez si la tâche s’exécute au niveau de performances requis. Si les performances sont acceptables, vous n’aurez peut-être pas besoin d’augmenter les ressources.

Pointe et constante - Indique souvent une nouvelle charge de travail. S’il ne s’agit pas d’une charge de travail reconnue, activez la surveillance dans la machine virtuelle pour savoir quel processus (ou processus) provoque le comportement. Une fois le processus reconnu, déterminez si l’augmentation de la consommation est causée par un code inefficace ou par une consommation normale. Si la consommation est normale, décidez si le processus fonctionne au niveau de performance requis.

Constante - Déterminez si votre machine virtuelle a toujours fonctionné à ce niveau ou si elle n’a fonctionné qu’à ce niveau depuis l’activation des diagnostics. Si tel est le cas, identifiez le ou les processus à l’origine du problème et envisagez d’ajouter davantage de cette ressource.

Augmentation constante - Une augmentation constante de la consommation est souvent soit un code inefficace, soit un processus prenant plus de charge de travail pour l’utilisateur.

Correction de l’utilisation élevée du processeur

Si votre application ou votre processus ne s’exécute pas au niveau de performances correct et que vous constatez une utilisation constante du processeur à 95 %, vous pouvez effectuer l’une des tâches suivantes :

  • Pour un soulagement immédiat - Augmentez la taille de la machine virtuelle à une taille avec plus de cœurs
  • Comprendre le problème - Localisez l’application / le processus et dépannez en conséquence.

Si vous avez augmenté la VM et que le processeur fonctionne toujours à 95 %, déterminez si ce paramètre offre de meilleures performances ou un débit d’application plus élevé à un niveau acceptable. Si ce n’est pas le cas, dépannez cette application/processus individuel.

Vous pouvez utiliser Perfinsights pour Windows ou Linux pour analyser quel processus génère la consommation du processeur.

Vérifier le goulot d’étranglement de la mémoire

Pour afficher les mesures :

  1. Ajoutez une section.
  2. Ajoutez une tuile.
  3. Ouvrez la Galerie.
  4. Sélectionnez l’utilisation de la mémoire et faites glisser. Lorsque la vignette est ancrée, cliquez avec le bouton droit et sélectionnez 6x4.

L’utilisation de la mémoire vous indique la quantité de mémoire consommée par la machine virtuelle. Comprenez la tendance et si elle correspond au moment où vous voyez des problèmes. Vous devez toujours disposer de plus de 100 Mo de mémoire disponible.

Pic et consommation constante/constante - Une utilisation élevée de la mémoire peut ne pas être la cause de mauvaises performances, car certaines applications telles que les moteurs de bases de données relationnelles allouent une grande quantité de mémoire, et cette utilisation peut ne pas être significative. Cependant, s’il existe plusieurs applications gourmandes en mémoire, vous pouvez constater des performances médiocres en raison d’une contention de la mémoire entraînant un découpage et une pagination/permutation sur le disque. Ces performances médiocres sont souvent une cause notable d’impact sur les performances des applications.

Consommation en constante augmentation - Une application possible « préchauffage », cette consommation est courante parmi les moteurs de base de données qui démarrent. Cependant, cela peut également être le signe d’une fuite de mémoire dans une application. Identifiez l’application et comprenez si le comportement est attendu.

Utilisation du fichier de pagination ou d’échange - Vérifiez si vous utilisez le fichier d’échange Windows (situé sur D :) ou le fichier d’échange Linux (situé sur /dev/sdb) sont fortement utilisés. Si vous n’avez rien sur ces volumes à l’exception de ces fichiers, vérifiez les lectures/écritures élevées sur ces disques. Ce problème indique des conditions de mémoire insuffisante.

Correction de l’utilisation élevée de la mémoire

Pour résoudre l’utilisation élevée de la mémoire, effectuez l’une des tâches suivantes :

  • Pour un soulagement immédiat ou une page ou une utilisation de fichier d’échange - Augmentez la taille de la machine virtuelle à une avec plus de mémoire, puis surveillez.
  • Comprendre le problème : localiser les applications/processus et résoudre les problèmes pour identifier les applications gourmandes en mémoire.
  • Si vous connaissez l’application, voyez si l’allocation de mémoire peut être plafonnée.

Si après la mise à niveau vers une machine virtuelle plus grande, vous constatez que vous souffrez toujours d’une augmentation constante jusqu’à 100 %, identifiez l’application/le processus et résolvez les problèmes.

Vous pouvez utiliser Perfinsights pour Windows ou Linux pour analyser quel processus génère la consommation de mémoire.

Vérifier le goulot d’étranglement du disque

Pour vérifier le sous-système de stockage de la machine virtuelle, vérifiez les diagnostics au niveau de la machine virtuelle Azure en utilisant les compteurs dans les diagnostics de la machine virtuelle ainsi que les diagnostics du compte de stockage.

Pour le dépannage spécifique à la machine virtuelle, vous pouvez utiliser Perfinsights pour Windows ou Linux, ce qui pourrait aider à analyser quel processus pilote les E/S.

Notez que nous n’avons pas de compteurs pour les comptes de stockage de zone redondante et Premium. Pour les problèmes liés à ces compteurs, créez une demande d’assistance.

Affichage des diagnostics du compte de stockage dans la surveillance

Pour travailler sur les éléments ci-dessous, accédez au compte de stockage de la VM dans le portail :

La capture d’écran montre les étapes à suivre afin d’afficher les diagnostics du compte de stockage dans Monitorage.

  1. Modifiez le graphique de surveillance.
  2. Définissez la plage horaire.
  3. Ajoutez les compteurs décrits dans les étapes ci-dessous.
  4. Enregistrez les modifications.

Pour identifier les problèmes de stockage, consultez les mesures de performances des diagnostics de compte de stockage et des diagnostics de machine virtuelle.

Pour chaque vérification ci-dessous, recherchez les tendances clés lorsque les problèmes surviennent dans la plage de temps du problème.

Vérifiez la disponibilité du stockage Azure - Ajoutez la métrique du compte de stockage : disponibilité

Si vous constatez une baisse de disponibilité, il peut y avoir un problème avec la plateforme, vérifiez le Statut Azure. Si aucun problème n’y apparaît, effectuez une nouvelle demande d’assistance.

Vérifier le délai d’expiration du stockage Azure - Ajouter les métriques du compte de stockage

  • ClientTimeOutError
  • ServerTimeOutError
  • AverageE2ELatency
  • AverageServerLatency
  • Total des demandes

Les valeurs des métriques *TimeOutError indiquent qu’une opération d’E/S a pris trop de temps et a expiré. Les étapes suivantes vous aideront à identifier les causes potentielles.

AverageServerLatency augmente en même temps que TimeOutErrors pourrait être un problème de plate-forme. Faites une nouvelle demande d’assistance dans cette situation.

AverageE2ELatency représente la latence du client. Vérifiez comment les IOPS sont exécutées par l’application. Recherchez une augmentation ou un niveau constamment élevé de la mesure Total des demandes. Cette métrique représente les IOPS. Si vous commencez à atteindre les limites du compte de stockage ou du VHD unique, la latence peut être liée à la limitation.

Vérifiez la limitation du stockage Azure - Ajoutez les métriques du compte de stockage : ThrottlingError

Les valeurs de limitation indiquent que vous êtes limité au niveau du compte de stockage, ce qui signifie que vous atteignez la limite IOPS du compte. Vous pouvez déterminer si vous atteignez le seuil d’IOP en vérifiant la métrique Total des demandes.

Notez que chaque VHD a une limite de 500 IOPS ou 60 MBits, mais est lié par la limite cumulée de 20 000 IOPS par compte de stockage.

Avec cette métrique, il est impossible de déterminer l’objet blob à l’origine de la limitation ainsi que ceux qui sont affectés. Cependant, vous atteignez les limites IOPS ou Ingress/Egress du compte de stockage.

Pour déterminer si vous atteignez la limite d’IOPS, accédez aux diagnostics du compte de stockage et consultez la mesure Total des demandes pour voir si vous approchez de 20 000 TotalRequests. Identifiez soit un changement dans le modèle, si vous voyez la limite pour la première fois, ou si cette limite se produit à un certain moment.

Avec les nouvelles offres de disques sous le stockage standard, les limites d’IOPS et de débit peuvent différer, mais la limite cumulée du compte de stockage standard est de 20 000 IOPS (le stockage Premium a des limites différentes au niveau du compte ou du disque). En savoir plus sur les différentes offres de disques de stockage standard et les limites par disque :

References

La bande passante du compte de stockage est mesurée par les métriques du compte de stockage : TotalIngress et TotalEgress. Vous disposez de différents seuils de bande passante en fonction du type de redondance et des régions.

Vérifiez TotalIngress et TotalEgress par rapport aux limites Ingress et Egress pour le type de redondance du compte de stockage et la région.

Vérifiez les limites de débit des VHD attachés à la machine virtuelle. Ajoutez la lecture et l’écriture du disque des mesures de la machine virtuelle.

Les nouvelles offres de disques sous le stockage standard ont des limites d’IOPS et de débit différentes (les IOPS ne sont pas exposées par VHD). Examinez les données pour voir si vous atteignez les limites du débit combiné en Mo du ou des VHD au niveau de la machine virtuelle à l’aide de la lecture et de l’écriture sur disque, puis optimisez la configuration de votre stockage de machine virtuelle pour dépasser les limites de VHD uniques. En savoir plus sur les différentes offres de disques de stockage standard et les limites par disque :

Utilisation élevée du disque/correction de la latence

Réduisez la latence client et optimisez les E/S de la machine virtuelle pour dépasser les limites VHD.

Réduire la limitation

Si vous atteignez les limites supérieures des comptes de stockage, rééquilibrez les VHD entre les comptes de stockage. Reportez-vous à Cibles d’évolutivité et de performances du stockage Azure.

Augmentez le débit et réduisez la latence.

Si vous avez une application sensible à la latence et que vous avez besoin d’un débit élevé, migrez vos VHD vers le stockage Azure Premium à l’aide de la machine virtuelle des séries DS et GS.

Ces articles traitent des scénarios spécifiques :

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.