Dépanner les performances de la machine virtuelle Azure sous Linux ou Windows
S’applique à : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles 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 pour les machines virtuelles Windows et Linux dans Azure.
Cet article décrit l’utilisation de la surveillance pour diagnostiquer les goulots d’étranglement des performances.
Activer les diagnostics de machine virtuelle via Portail Azure
Pour activer les diagnostics de VM :
Allez à la machine virtuelle.
Dans la section Surveillance , sélectionnez Paramètres de diagnostic.
Sélectionnez un compte de stockage, puis activez l’analyse au niveau de l’invité.
Afficher les métriques du compte de stockage via Portail Azure (pour un disque non managé)
Pour les machines virtuelles qui utilisent des disques non managés, le stockage est un niveau très important lorsque nous prévoyons d’analyser les performances des E/S. Pour les métriques associées au stockage, nous devons activer les diagnostics en tant qu’étape supplémentaire :
Identifiez le compte de stockage (ou les comptes) que votre machine virtuelle utilise en sélectionnant la machine virtuelle :
- Dans le Portail Azure, sélectionnez votre machine virtuelle.
- Sous Paramètres, sélectionnez Disque, puis recherchez le compte de stockage où le disque est enregistré.
- Accédez au compte de stockage et sélectionnez Métriques.
Identifier les goulots d’étranglement des performances
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 supervision
Dans le Portail Azure, sélectionnez la machine virtuelle Azure à examiner, sélectionnez Métriques dans la section Surveillance, puis sélectionnez une métrique.
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
- Définissez la plage horaire.
- Dans Métrique, sélectionnez Pourcentage d’UC.
Surveiller les tendances en matière de performances du processeur
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 processus ne s’exécute pas de manière optimale et que l’utilisation du processeur reste supérieure à 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 :
- Ajoutez une section.
- Ajoutez une tuile.
- Ouvrez la Galerie.
- 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.
Surveiller les tendances en matière de performances de la mémoire
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.
Rechercher le goulot d’étranglement du disque (pour le disque non managé)
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 :
- Définissez la plage horaire.
- Définissez l’espace de noms de métrique sur Blob.
- Définissez la métrique sur disponibilité.
Surveiller les tendances des performances des disques (stockage standard uniquement)
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 E/S par seconde sont effectué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 d’E/S par seconde 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 avez des seuils différents pour la bande passante en fonction du type de redondance et de régions :
- Objectifs d’extensibilité et de performances pour les comptes de stockage standard
- Objectifs d’extensibilité et de performances pour les comptes de stockage d’objets blob de pages Premium
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.