Titre

Identifier les points de contention d'une VM VMWare

Identifier les goulots d'éttranglement d'une machine virtuelle VMWare qui ammènent a des ralentissements importants.

Plusieurs métriques sont à surveiller sur une VM VmWare pour savoir si elle a des problèmes de performance.

Au niveau du CPU, surveillez les CPU ready. Le CPU Ready ne doit pas dépasser 5%, ce qui correspond à 1000ms. Grossièrement c'est le temps passé à attendre pour que les CPU soient disponibles.

Dans l'exemple ci-dessous on voit clairement que l'on dépasse allègrement les 1000ms, ce qui n'est pas bon du tout.

Pour accéder à l'historique de ce compteur, sur une VM,
cliquez sur "Performance"
cliquez sur "Options diagramme"
cliquez sur "CPU"
sélectionnez la période
dans les compteurs ne cochez que "prêt"
dans les objets cochez votre machine

Pour améliorer les problèmes de CPUReady, répartissez au mieux CPU et socket.
Quand vous avez besoin de 2 processeurs visibles sur votre VM, privilégiez 2 noyaux par socket et non pas 2 sockets virtuels avec chacun un noyau.
Si vous avez besoin de 4 processeurs visibles sur votre VM, mettez 2 sockets virtuels avec chacun 2 noyaux par socket.

Dans la capture ci-dessous la répartition est donc mauvaise :

pour identifier les latences disque en écriture,
allez dans disque virtuel
cochez "Nombre moyen de demandes d'écriture en suspens"
cochez vos objets, notamment scsi
Validez en cliquant sur Ok

Ici on est à 0. Il n'y a donc pas de latence.
Il ne faut pas que cela dépasse 25ms.

Pour voir les compteurs en temps réel, accédez à l'ESX qui héberge votre VM en SSH.
Ensuite entrez la commande "esxtop"

Appuyez sur la touche shift+v (pour faire un V majuscule) afin de ne voir que les VMs

Appuyez sur la touche shift+r (pour faire un R majuscule) pour trier par CPUReady.
On peut maintenant observer la valeur en temps réel du CPUReady VM par VM, sachant que cela ne doit pas dépasser 5%. Ici on est au maximum à 2,73%.

La valeur du VMWait doit être elle proche de 0.
Ce compteur indique si la VM attend après un périphérique, en général du stockage.