Comment mesurer le conflit de ressources entre systèmes / VM virtualisés sur le même hôte?

2

À de nombreuses reprises, j'ai dû faire face à la question de savoir si la machine virtuelle sur laquelle je suis est affectée par d'autres machines virtuelles s'exécutant sur le même hôte de machine virtuelle. Je comprends que même dans un scénario parfait où ni le processeur, ni la mémoire vive, ni le disque n’ont été sur-provisionnés, il y aura des effets sur les ordinateurs virtuels frères du même hôte.

Existe-t-il des méthodes éprouvées pour mesurer les conflits de ressources à partir d'une machine virtuelle? Qu'est-ce qu'une bonne approche?

Dans le passé, j’ai mesuré le temps d’exécution de tâches normalisées (par exemple, la compilation de GCC ou le codage vidéo) entre différents ordinateurs virtuels, mais les résultats varient même lorsque je contrôle la charge sur tous les autres ordinateurs virtuels du même système.

Je dois mentionner que tous ces systèmes sont basés sur Linux.

Edit: Supposons que je n'ai pas d'accès direct à l'hôte, uniquement aux VM

madmaze
la source
Avez-vous accès à l'hôte VM?
Lawrence
Oui et non, dans certains cas, je voudrais, mais j'aimerais vraiment pouvoir évaluer l'impact lorsque je n'ai pas accès à l'hôte. Comme dans un public pourrait par exemple.
madmaze
Je ne pense pas que vous serez en mesure de déterminer cela à partir d'un invité. Voir ma réponse pour les choses que vous pouvez faire sur un hôte si.
Lawrence
Je sais que ce n'est pas facile, mais la comparaison des tests de performances entre deux ordinateurs virtuels sur des hôtes distincts vous donne une idée générale des conflits. Par exemple, en comparant le côté processeur, disons que je compile GCC sur deux ordinateurs virtuels et que, sur un ordinateur, il faut 5 minutes pour les 10 autres minutes. Cela signifie qu'il y a moins de conflits sur le premier que sur le second. Maintenant, si j'ai une base, disons que je compile GCC sur du métal nu et que cela prend 4 minutes, je peux mettre en perspective les performances des deux machines virtuelles par rapport à une minute réelle du processeur.
madmaze

Réponses:

1

Pour les conflits de processeurs, vous pouvez mesurer la Temps de vol du processeur . De l'article lié:

Le temps de vol est le pourcentage de temps pendant lequel un processeur virtuel attend un processeur réel pendant que l'hyperviseur traite un autre processeur virtuel.

NothingsImpossible
la source
0

VMWare a un bon doco sur la détermination du conflit de ressources - http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2001003

En supposant que vous utilisiez 5.1 -

  1. CPU
    Vérifiez esxtop sur la ligne de commande
    Charge moyenne de 1 signifie que les processeurs sont pleinement utilisés.
    Prêt% devrait être moins de 5%

  2. Mémoire
    Vérifiez esxtop sur la ligne de commande
    Vérifiez la valeur de dépassement de MEM
    Moins 1 de la valeur de dépassement de mémoire MEM, si le champ se termine par 0, tout va bien. Sinon, s'il est supérieur à 0, vous surchargez la RAM.

  3. Disque
    Vérifiez esxtop sur la ligne de commande
    Voir si le temps de latence DAVG est supérieur à 5 secondes

Lawrence
la source
J'ai mis à jour la question. Je recherche une méthode qui ne soit pas spécifique à l'hyperviseur ni qui nécessite un accès à l'hôte.
madmaze