Optimiser les performances de son serveur de test (Vmware Server et Vmware Workstation) :
Depuis environ 4 ans, j’utilise la gamme des produits Vmware pour faire mes maquettes.
J’ai commencé à travailler avec Vmware Workstation 3.0. Cette version ne supportait pas encore le glisser déposer entre la machine réelle (celle sur laquelle on installe Vmware) et la machine virtuelle et ne permettait pas non plus de faire des snapshots (sauvegarde d’une machine à un instant T). Il faut cependant reconnaître que les performances de Vmware 3.0 étaient très honorables. En effet je pouvais avec ma machine de l’époque (un Athlon XP 1800+, 2 disque IDE 7200 tours/minutes et 1 Go de mémoire vive) lancer environ 4 contrôleurs de domaine (dont 1 serveur Exchange) dans des conditions de travail raisonnables.
Quelques années après (5 ans précisément), malgré l’augmentation très importante de la puissance des machines (pc portable de dernière génération avec disque 7200 tours/minutes), force est de reconnaître que je ne peux toujours pas lancer plus de 4 machines en même temps.
En effet avec les nouvelles versions, Vmware Workstation gagne en fonctionnalités mais perd en performance. Il est probable que l’éditeur cherche ainsi à différencier la gamme de produit Vmware Workstation/Server (gratuit pour ce dernier) de son produit Vmware Infrastructure 3.0 (base de Vmware ESX). En effet contrairement à Vmware Server/ Workstation, Vmware Infrastructure 3.0 a été créé pour remplacer des serveurs de production par des machines virtuelles (la performance est un des critères principales). Ainsi il n’est pas étonnant que ce produit soit 2 à 3 fois plus rapide que Vmware Server. Vmware fournit un comparatif entre Vmware Server et Vmware Infrastructure à l’adresse suivante http://www.vmware.com/fr/products/server_comp.html.
La seconde explication tient au fait que le goulet d’étranglement de Vmware Server/Workstation se situe au niveau de la vitesse du ou des disques dur. La vélocité des disques n’a en effet que très faiblement augmenté (rien à voir avec l’évolution de nos processeurs).
En effet lorsque je lance plusieurs machines virtuelles en même temps, il arrive que ma machine ne réponde plus pendant environ 10 secondes. Hors quand je regarde le moniteur de performance, je dispose pourtant d’une réserve suffisante en mémoire vive et mon processeur ne dépasse que très rarement les 50 %. Par contre l’activité disque est intense (il n’y a qu’à écouter le bruit des disques).
Il est donc recommandé afin d’optimiser les performances disques (c’est à dire les performances de votre serveur Vmware), de ne pas installer les machines virtuelles sur le disque système mais sur un second disque (secondé par un troisième si possible). J’utilise par exemple deux disques externes (un USB 2 et un Firewire) pour héberger mes machines. Cependant, il arrive malgré tout que mon système se fige temporairement. En effet Vmware Server / Vmware Workstation utilise de nombreux fichiers qu’ils stockent sur la partition local.
La capture ci-dessous réalisée à l’aide de filemon (téléchargeable à l’adresse suivante : http://www.microsoft.com/…./Filemon.mspx), montre bien que Vmware utilise le disque système alors que la machine virtuelle est stockée sur le « disque f: ». La solution de contournement à ce problème est d’installer des disques rapides comme des disques systèmes (7200 tours/minute) voir des volumes RAID 0 (RAID matériel).
Aujourd’hui Windows Server 2008 alias Longhorn Server demande au minimum 512 Mo pour accepter de s’installer. Il est cependant possible après installation de faire démarrer un Windows Server 2008 avec 384 Mo de mémoire vive.
Quand à Windows XP Pro (ou un Windows 2003 Server de base), il nécessite au moins 256 Mo (voir plus) pour fonctionner correctement avec un antivirus et un traitement de texte.
Moralité, pour lancer 2 machines virtuelles Windows Server 2008, il faut au minimum 1 Go de mémoire vive. Il faut en effet éviter à tout prix que la machine virtuelle charge et décharge trop souvent le contenu de la mémoire vers le fichier pagefile.sys (typiquement quand le système ne dispose pas d’assez de ressources mémoire physique). En effet cela génère une très forte activité sur le disque de la machine virtuelle et donc encore plus d’activités sur le disque de la machine réelle.
Un autre paramètre important pour les performances et le format des images Vmware et la version des Vmware Tools. Si vous utilisez Vmware 6.0, il faut mieux convertir vos images au format Vmware 6.0. Cela vous permettra de bénéficier des dernières fonctionnalités (augmentation taille mémoire maximum, jusqu’à 10 cartes réseaux au lieu de 3, support des systèmes biprocesseur) mais accélérera aussi le fonctionnement de la machine virtuelle. Parfois il est nécessaire de réactiver le système (Windows XP, Windows 2003, Windows Vista, Windows Longhorn Server) car la mise à jour du format de l’image Vmware entraîne d’importants changements dans la configuration matérielle de la machine virtuelle.
Pour rappel, Vmware Workstation 6.0 supporte les machines virtuelles au format Vmware Workstation 6.0, Vmware Workstation 5.x (et Vmware Server) et Vmware Workstation 4.x
Ne pas non plus oublier de mettre à jour les Vmware Tools et d’activer l’accélération matérielle de la carte graphique (dans les propriétés avancées de Affichage).
PS : Cet article est téléchargeable au format PDF à l’adresse suivante :
http://msreport.free.fr/articles/vmware_performance.pdf
Bon courage.
Bonjour,
Juste une petite intervention concernant l’activation de l’accélération matérielle de la carte graphique. Pour info, ceux qui utilisent des programmes Java risque d’avoir des problèmes d’affichages en faisant cela. Cela dépendra de votre carte graphique. Mais par exemple, ma machine physique est équipé d’une X4500HD (chipset intégré Intel) et à chaque fois que je lançais une appli Java, ma VM commençait à flancher et je devais l’éteindre.
Ce comportement n’est cependant apparu que sur l’outil WebI de Business Object, utilisé pour faire de la BI.