J'ai trouvé qu'il n'y a pas de réponse simple et absolue à des questions comme la vôtre. Chaque solution de virtualisation se comporte différemment lors de tests de performances spécifiques. De plus, des tests comme le débit d'E / S disque peuvent être divisés en de nombreux tests différents (lecture, écriture, réécriture, ...) et les résultats varient d'une solution à l'autre et d'un scénario à l'autre. C'est pourquoi il n'est pas trivial de pointer une solution comme étant la plus rapide pour les E / S disque, et c'est pourquoi il n'y a pas de réponse absolue pour les étiquettes comme la surcharge pour les E / S disque.
Cela devient plus complexe lorsque vous essayez de trouver une relation entre différents tests de référence. Aucune des solutions que j'ai testées n'avait de bonnes performances sur les tests de micro-opérations. Par exemple: dans VM, un seul appel à "gettimeofday ()" a pris, en moyenne, 11,5 fois plus de cycles d'horloge pour terminer que sur le matériel. Les hyperviseurs sont optimisés pour les applications du monde réel et ne fonctionnent pas bien sur les micro-opérations. Cela peut ne pas être un problème pour votre application qui peut mieux convenir à une application réelle. Je veux dire par micro-opération toute application qui passe moins de 1 000 cycles d'horloge à terminer (pour un processeur 2,6 GHz, 1 000 cycles d'horloge sont dépensés en 385 nanosecondes, soit 3,85e-7 secondes).
J'ai effectué des tests de référence approfondis sur les quatre principales solutions de consolidation de centres de données pour l'architecture x86. J'ai fait près de 3000 tests comparant les performances à l'intérieur des machines virtuelles aux performances matérielles. J'ai appelé «frais généraux» la différence entre les performances maximales mesurées à l'intérieur des machines virtuelles et les performances maximales mesurées sur le matériel.
Les solutions:
- VMWare ESXi 5
- Microsoft Hyper-V Windows 2008 R2 SP1
- Citrix XenServer 6
- Red Hat Enterprise Virtualization 2.2
Les OS invités:
- Microsoft Windows 2008 R2 64 bits
- Red Hat Enterprise Linux 6.1 64 bits
Informations sur le test:
- Serveurs: 2X Sun Fire X4150 chacun avec 8 Go de RAM, 2 processeurs Intel Xeon E5440 et quatre ports Ethernet gigabit
- Disques: 6 disques SAS de 136 Go sur iSCSI sur Gigabit Ethernet
Logiciel de référence:
CPU et mémoire: référence Linpack pour 32 et 64 bits. Ceci est gourmand en CPU et en mémoire.
E / S de disque et latence: Bonnie ++
E / S réseau: Netperf: TCP_STREAM, TCP_RR, TCP_CRR, UDP_RR et UDP_STREAM
Micro-opérations: rdtscbench : Appels système, communication inter-process pipe
Les moyennes sont calculées avec les paramètres:
CPU et mémoire: MOYENNE (HPL32, HPL64)
E / S disque: MOYENNE (put_block, rewrite, get_block)
E / S réseau: MOYENNE (tcp_crr, tcp_rr, tcp_stream, udp_rr, udp_stream)
Micro-opérations MOYENNE (getpid (), sysconf (), gettimeofday (), malloc [1M], malloc [1G], 2pipes [], simplemath [])
Pour mon scénario de test, en utilisant mes métriques, les moyennes des résultats des quatre solutions de virtualisation sont:
Surcharge de la couche VM, invité Linux:
CPU et mémoire: 14,36%
E / S réseau: 24,46%
E / S disque: 8,84%
Latence du disque pour la lecture: 2,41 fois plus lente
Temps d'exécution des micro-opérations: 10,84 fois plus lent
Surcharge de la couche VM, invité Windows:
Veuillez noter que ces valeurs sont génériques et ne reflètent pas le scénario de cas spécifique.
Veuillez consulter l'article complet: http://petersenna.com/en/projects/81-performance-overhead-and-comparative-performance-of-4-virtualization-solutions