Hyper-V CPU BenchMark PDF Imprimer Envoyer
Note des utilisateurs: / 19
MauvaisTrès bien 

Mesurer les performances des machines virtuelles peux se révéler un véritable casse tête. Hyper-v n'échappe pas à la règle et pour cette raison, ce test n'a pas de valeur en soi et ne prouve absolument rien. Son but est seulement d'illustrer le fonctionnement de Hyper-v et d'essayer de mesurer son empreinte de charge dans les conditions particulières de notre test.

La mesure des performances de Hyper-v néccessitant bien plus qu'un simple article, j'ai volontairement limité mon test aux performances CPU (un MIPS reste un MIPS).
Pour rappel le MIPS (Million Instruction Per Second) est l'unité utilisée pour mesurer la vitesse d'un processeur.

 

 

Introduction

Avant de rentrer dans le vif du sujet, une petit rappel du fonctionnement d'hyper-v s'impose.

Comme vous le savez certainement, Hyper-v s'ajoute comme un rôle dans Windows 2008 server.

En réalité, une fois le rôle ajouté, l'hyperviseur est inséré comme pilote prioritaire au boot de windows 2008.

 

 hypervarchi

Ce qu'il faut comprendre par là, c'est qu'une fois Hyper-v installé, notre copie de Windows 2008 accède aux ressources CPU à travers l'hyperviseur au même titre qu'une VM.

La partition qui héberge notre copie originale de Windows 2008 est appelée la partition Parent (Cf. Hyper-v, nouveaux concepts et terminologie)

 

Les machines virtuelles quand à elles tournent dans ce qu'on appelle des partitions enfants (Childs partitions).

 

Le Windows 2008 que j'ai installé sur mon serveur physique s'est virtualisé ?

Pour illustrer le fait que notre Windows 2008 d'origine (j'entends celui que vous avez installé sur le matériel) n'accède plus aux ressources CPU physiques de la machine vous pouvez effectuer les tests suivants.

Lancer par exemple un outil d'affichage des informations de votre processeur.

Ci dessous une capture de l'utilitaire Intel d'identification du processeur avant l'installation de Hyper-v.

 

intelbeforehv

 

On peut voir que les instructions VT sont disponibles sur ce processeur, ce qui va grandement améliorer les performances de nos machines virtuelles.

Une fois Hyper-v installé ... les instructions VT ne sont plus disponibles !

 

 

Ceci s'explique parce que note copie de Windows 2008 n'accède plus directement au processeur, elle s'adresse à Hyper-v qui va alors masquer les instructions de virtualisation afin que celles-ci ne soient pas utilisées par d'autres applications.

On peut dire en quelque sorte que notre Windows 2008 d'origine est désormais "virtualisé". En effet, Windows 2008 n'accède plus au matériel en direct, mais au travers de l'hyperviseur, de la même manière qu'une machine virtuelle pure.
Ceci va complètement changer la perception des compteurs de performances.

Exemple :

Lancez le gestionnaire de tâches dans le Windows 2008 de la partition parent. Lancez ensuite une opération consommatrice de ressources CPU dans une VM hébergées.
Vous pourrez constater que l'utilisation CPU du Windows 2008 de notre partition parent reste nulle.

 

 

thumb hyper-vperfmon
Cliquer sur l'image pour l'afficher en taille réelle.

 

 

 

Désormais, le gestionnaire de tâche ne reflète plus l'utilisation des CPU physiques, mais des CPU logiques attribués à notre partition Parent. Souvenez vous le schéma au début de cet article, notre copie d'origine de Windows 2008 ne sait pas qu'elle n'accède plus au directement au CPU...

Pour visualiser l'utilisation réelle des CPU physiques il faut alors passer par de nouveaux compteurs de performances, ajoutés à l'occasion de l'installation de Hyper-v (ces nouveaux compteurs feront l'objet d'un article ultérieur).

 

 

Un bench qui ne prouve rien.

Afin de mettre en lumière l'impact de Hyper-v sur les performances d'un serveur, j'ai voulu mesurer la capacité CPU d'une machine avant et après l'installation d'hyper-v et comparer avec la capacité CPU d'une VM sur cette même machine.

J'ai effectué mon test sur un portable fraichement installé dont voici les caractéristiques :

 

Voici la description des tests effectués.

 

  • Integer (32-bit and 64-bit addition, subtraction, multiplication and division)*
  • Floating Point (32-bit and 64-bit addition, subtraction, multiplication and division)**
  • SSE (128-bit SSE operations such as addition, subtraction and multiplication)
  • Compression
  • Encryption
  • Image Rotation (Rotate image co-ordinates in memory)
  • Random String Sorting
  • Find Prime numbers

*Integers are whole numbers such as 23, 459532, -26.

**Floating point numbers contain a fractional part, eg. 1.003, 98394.2.

  • Le test intitulé Avant installation de Hyper-v est lancé sur un Windows 2008 fraichement installé.
  • Le test intitulé Parent Partition est lancé sur le Windows 2008 immédiatement après l'installation de Hyper-v (pas de VM actives).
  • Le test intitulé Windows 2008 64bit Guest (2CPU, 2Go Ram) est lancé dans une VM Windows 2008 64bits avec 2Go de RAM.

 

perfrespetit
Cliquer sur l'image pour l'afficher en taille réelle.

 

Conclusion, il n'y à rien à voir.

La première chose qui saute au yeux, c'est qu'il ny à rien à voir, les différences relevées sont si faibles qu'elles ne sont pas significatives.
Ceci tend à mettre en évidence que dans les conditions de notre test, la capacité de calcul d'une machine virtuelle est très proche de celle de la machine physique.

Si vous vous posez d'autres questions sur Hyper-v et les performances, vous pouvez consulter le lien suivant issu du blog de Anthony F Voellm (Lead de la team performance de hyper-v).

http://blogs.msdn.com/tvoellm/archive/2008/06/06/hyper-v-performance-faq.aspx

 

Partagez l'article

Liens sponsorisés

Joomla! is Free Software released under the GNU/GPL License.