Résoudre les problèmes de performances des VM


Ce document explique comment diagnostiquer et limiter les problèmes de performances de processeur, de mémoire et de stockage sur les instances de machines virtuelles (VM) Compute Engine.

Avant de commencer

  • Installez l'agent Ops pour afficher toutes les métriques de performances de la VM, telles que l'utilisation de la mémoire et de l'espace disque.

Afficher les métriques de performances

Pour afficher les métriques de performances de vos VM, utilisez les métriques d'observabilité de Cloud Monitoring disponibles dans la console Google Cloud.

  1. Dans Google Cloud Console, accédez à la page Instances de VM.

    Accéder à la page "Instances de VM"

  2. Vous pouvez afficher des métriques pour des VM individuelles ou pour les cinq VM consommant le plus de ressources.

    Pour afficher les métriques de VM individuelles, procédez comme suit :

    1. Cliquez sur le nom de la VM dont vous souhaitez afficher les métriques de performances. La page Détails de l'instance de VM s'affiche.

    2. Cliquez sur l'onglet Observabilité pour ouvrir la page Aperçu de l'observabilité.

    Pour afficher les métriques des cinq VM consommant le plus de ressources, cliquez sur l'onglet Observabilité de la page Instances de VM.

  3. Explorez les métriques de performances de la VM. Consultez les sections Présentation, Processeur, Mémoire, Réseau et Disque pour afficher des métriques détaillées sur chaque sujet. Voici les métriques clés qui indiquent les performances de la VM :

    • Sur la page Aperçu :

      • Utilisation du processeur. Pourcentage de processeur utilisé par la VM.

      • Utilisation de la mémoire. Pourcentage de mémoire utilisé par la VM, à l'exclusion des caches de disque. Pour les VM Linux, cette valeur exclut également la mémoire du noyau.

      • Trafic réseau Taux moyen d'octets envoyés et reçus par intervalles d'une minute.

      • Nouvelles connexions avec des VM/sources externes/Google Nombre estimé de flux TCP/UDP distincts en une minute, regroupés par type de pair.

      • Débit du disque. Taux moyen d'octets écrits et lus sur les disques.

      • IOPS du disque. Taux moyen d'opérations d'E/S en lecture et en écriture sur les disques.

    • Sur la page Récapitulatif du réseau :

      • Envoyé aux VM/destinations externes/Google Taux de trafic réseau envoyé aux services Google, aux VM et à des destinations externes, basé sur un échantillon de paquets. La métrique est mise à l'échelle de sorte que la somme corresponde au trafic réseau total envoyé.

      • Reçu de VM/sources externes/Google Taux de trafic réseau reçu des services Google, des VM et des sources externes, basé sur un échantillon de paquets. La métrique est mise à l'échelle de sorte que la somme corresponde au trafic réseau total reçu.

      • Total de paquets réseau Taux total de paquets envoyés et reçus par intervalles d'une minute.

      • Taille moyenne des paquets Taille moyenne des paquets, en octets, envoyés et reçus par intervalles d'une minute.

      • Paquets entrants refusés par le pare-feu Taux de paquets réseau entrants envoyés à la VM, mais non reçus par celle-ci, car refusés par les règles de pare-feu.

    • Sur la page Performances des disques :

      • Taille moyenne des opérations d'E/S : taille moyenne des opérations d'E/S en lecture et en écriture sur les disques. Les E/S aléatoires de petite taille (4 à 16 Kio) sont généralement limitées par les IOPS et les E/S séquentielles/volumineuses (256 Kio à 1 Mio) le sont par le débit.

      • Longueur moyenne de la file d'attente : nombre d'opérations d'E/S de disque en file d'attente et en cours d'exécution (également appelé profondeur de file d'attente) sur les cinq principaux appareils. Pour atteindre les limites de performances de vos disques persistants, définissez une profondeur de file d'attente d'E/S élevée. Les disques persistants sont des espaces de stockage en réseau. Ils disposent généralement d'une latence plus élevée que les disques physiques ou les disques SSD locaux.

      • Latence d'E/S moyenne : latence moyenne des opérations d'E/S en lecture et en écriture, agrégée pour l'ensemble des opérations sur tous les disques associés à la VM, mesurée par l'agent Ops dans la VM. Cette valeur inclut la latence de traitement du système d'exploitation et du système de fichiers, et dépend de la longueur de la file d'attente et de la taille des opérations d'E/S.

Comprendre les métriques de performances

Les performances de la VM sont affectées par le matériel sur lequel la VM s'exécute, la charge de travail s'exécutant sur la VM et le type de machine de la VM. Si le matériel n'est pas compatible avec la charge de travail ou le trafic réseau de votre VM, ses performances peuvent être affectées.

Performances des processeurs et de la mémoire

Informations sur le matériel

Les performances matérielles et de mémoire sont affectées par les contraintes matérielles suivantes :

  • Chaque processeur virtuel est mis en œuvre sous la forme d'une technologie multithread matérielle unique appliquée sur un processeur.
  • Les processeurs Intel Xeon sont compatibles avec plusieurs threads d'application sur un seul cœur de processeur.
  • Les VM qui utilisent des types de machines C2 disposent d'un mappage de cœur virtuel vers physique physique et exposent l'architecture de cellules NUMA au système d'exploitation invité.
  • La plupart des VM obtiennent la fréquence turbo tout cœur répertoriée sur les plates-formes de processeur, même si seule la fréquence de base est présentée dans l'environnement invité.
  • Les types de machines à cœur partagé ont recours au changement de contexte pour partager un cœur physique entre plusieurs processeurs virtuels pour un fonctionnement multitâche. Ils offrent également des capacités d'utilisation intensive pendant lesquelles l'utilisation du processeur pour une VM peut dépasser 100 %. Pour en savoir plus, consultez la section Types de machines à cœur partagé.

Pour comprendre les performances des processeurs et de la mémoire d'une VM, affichez les métriques de performances concernant l'utilisation du processeur et l'utilisation de la mémoire. En outre, vous pouvez utiliser des métriques de processus pour afficher les processus en cours d'exécution, attribuer à un processus spécifique des anomalies dans la consommation de ressources ou identifier les consommateurs de ressources les plus coûteuses de votre VM.

Une utilisation élevée et constante du processeur ou de la mémoire indique que vous devez effectuer un scaling à la hausse d'une VM. Si la VM utilise systématiquement plus de 90 % de son processeur ou de sa mémoire, remplacez le type de machine de la VM par un type de machine comportant davantage de processeurs virtuels ou de mémoire.

Performances du réseau

Informations sur le matériel

Les performances du réseau sont affectées par les contraintes matérielles suivantes :

Pour comprendre les performances réseau d'une VM, affichez les métriques de performances concernant les éléments suivants : Total de paquets réseau, Taille moyenne des paquets, Nouvelles connexions avec des VM/sources externes/Google, Envoyé aux VM/destinations externes/Google, Reçu de VM/sources externes/Google et Paquets entrants refusés par le pare-feu.

Vérifiez si le total des paquets réseau, la taille moyenne des paquets et les nouvelles connexions avec des VM/sources externes/Google sont habituels pour votre charge de travail. Par exemple, un serveur Web peut devoir gérer de nombreuses connexions et de petits paquets, tandis qu'une base de données peut devoir gérer peu de connexions et de grands paquets.

Si le trafic réseau sortant est constant et élevé, cela peut indiquer qu'il est nécessaire de modifier le type de machine de la VM pour obtenir un type de machine disposant d'une limite de bande passante de sortie plus élevée.

Si vous remarquez un nombre élevé de paquets entrants refusés par le pare-feu, consultez la page Insights sur le pare-feu Network Intelligence dans la console Google Cloud pour en savoir plus sur l'origine des paquets refusés.

Accéder à la page Firewall Insights

Si vous pensez que le pare-feu refuse par erreur votre propre trafic, essayez d'exécuter des tests de connectivité.

Si votre VM envoie et reçoit un volume élevé de trafic provenant de VM situées dans différentes zones ou régions, envisagez de modifier votre charge de travail pour conserver plus de données dans une zone ou une région afin d'augmenter la latence et de réduire les coûts. Pour en savoir plus, consultez la tarification de transfert de données sortantes de VM à VM standard dans Google Cloud sur la page Tarifs. Si votre VM envoie une grande quantité de trafic à d'autres VM dans la même zone, envisagez une stratégie d'emplacement compact afin d'atteindre une faible latence du réseau.

Performances de stockage

Informations sur le matériel

Le stockage est affecté par les contraintes matérielles suivantes :

  • La taille totale de tous les disques persistants associée au nombre de processeurs virtuels détermine les performances totales de stockage. Si différents types de disques persistants sont associés à une VM, les limites de performances des disques persistants SSD sont partagées par tous les disques de la VM. Pour en savoir plus, consultez la page Performances des options de stockage de blocs.
  • Lorsque Persistent Disk et Hyperdisk sont en concurrence avec le trafic de transfert de données sortantes, 60 % de la bande passante réseau sortante maximale sont utilisés pour Persistent Disk et Hyperdisk, et les 40 % restants pour le transfert de données sortantes du réseau. Pour en savoir plus, consultez la section Autres facteurs ayant une incidence sur les performances.
  • La taille d'E/S et les performances de profondeur de la file d'attente dépendent des charges de travail. Certaines charges de travail peuvent ne pas être assez volumineuses pour utiliser toutes les limites de performances de la taille des opérations d'E/S et de la profondeur de file d'attente.
  • Le type de machine d'une VM affecte ses performances de stockage. Pour en savoir plus, consultez la section Type de machine et nombre de processeurs virtuels.

Pour comprendre les performances de stockage d'une VM, affichez les métriques de performances pour le débit, les opérations (IOPS), la taille d'E/S, la latence d'E/S et la longueur de la file d'attente.

Le débit du disque et les IOPS indiquent si la charge de travail de VM fonctionne comme prévu. Si le débit ou les IOPS est inférieur au maximum attendu indiqué dans le tableau de comparaison des différents types de disques, des problèmes de performances liés à la taille d'E/S, à la longueur de la file d'attente ou aux temps de latence d'E/S peuvent survenir.

Les tailles d'E/S peuvent être comprises entre 4 et 16 Kio pour les charges de travail nécessitant un nombre élevé d'IOPS et une faible latence, et entre 256 Kio et 1 Mio pour les charges de travail impliquant des tailles d'écriture séquentielles ou de grande taille. La taille d'E/S située en dehors de ces plages indique les problèmes de performances des disques.

La longueur de la file d'attente, également appelée profondeur de file d'attente, est un facteur du débit et des IOPS. Lorsqu'un disque fonctionne correctement, sa longueur de file d'attente doit être à peu près identique à la longueur de file d'attente recommandée pour atteindre un niveau de débit ou d'IOPS particulier, répertoriée dans le tableau Profondeur recommandée de la file d'attente d'E/S.

La latence d'E/S dépend de la longueur de la file d'attente et de la taille d'E/S. Si la longueur de la file d'attente ou la taille d'E/S d'un disque est élevée, la latence sera également élevée.

Si des métriques de performances de stockage indiquent des problèmes de performances des disques, effectuez l'une ou plusieurs des opérations suivantes :