Ich habe festgestellt, dass es keine einfache und absolute Antwort auf Fragen wie Ihre gibt. Jede Virtualisierungslösung verhält sich bei bestimmten Leistungstests anders. Tests wie der Datenträger-E / A-Durchsatz können in viele verschiedene Tests unterteilt werden (Lesen, Schreiben, Umschreiben usw.). Die Ergebnisse variieren von Lösung zu Lösung und von Szenario zu Szenario. Aus diesem Grund ist es nicht trivial, eine Lösung als die schnellste für Festplatten-E / A zu bezeichnen, und aus diesem Grund gibt es keine absolute Antwort für Bezeichnungen wie Overhead für Festplatten-E / A.
Es wird komplexer, wenn versucht wird, eine Beziehung zwischen verschiedenen Benchmark-Tests zu finden. Keine der von mir getesteten Lösungen zeigte eine gute Leistung bei Mikrobetriebstests. Beispiel: Innerhalb der VM dauerte ein einzelner Aufruf von "gettimeofday ()" durchschnittlich 11,5 Mal mehr Taktzyklen als auf der Hardware. Die Hypervisoren sind für Anwendungen in der realen Welt optimiert und eignen sich nicht für Mikrooperationen. Dies ist möglicherweise kein Problem für Ihre Anwendung, die möglicherweise besser als reale Anwendung geeignet ist. Ich meine mit Mikrobetrieb jede Anwendung, die weniger als 1.000 Taktzyklen benötigt, um fertig zu werden (für eine 2,6-GHz-CPU werden 1.000 Taktzyklen in 385 Nanosekunden oder 3,85 bis 7 Sekunden benötigt).
Ich habe ausführliche Benchmark-Tests für die vier Hauptlösungen für die Rechenzentrums-Konsolidierung für x86-Architektur durchgeführt. Ich habe fast 3000 Tests durchgeführt, bei denen die Leistung in VMs mit der Hardwareleistung verglichen wurde. Ich habe den Unterschied zwischen der in VMs gemessenen maximalen Leistung und der auf der Hardware gemessenen maximalen Leistung als "Overhead" bezeichnet.
Die Lösungen:
- VMWare ESXi 5
- Microsoft Hyper-V Windows 2008 R2 SP1
- Citrix XenServer 6
- Red Hat Enterprise Virtualization 2.2
Die Gastbetriebssysteme:
- Microsoft Windows 2008 R2 64 Bit
- Red Hat Enterprise Linux 6.1 64-Bit
Test Info:
- Server: 2x Sun Fire X4150 mit jeweils 8 GB RAM, 2x Intel Xeon E5440-CPU und vier Gigabit-Ethernet-Ports
- Festplatten: 6 x 136 GB SAS-Festplatten über iSCSI über Gigabit-Ethernet
Benchmark-Software:
CPU und Speicher: Linpack-Benchmark für 32 und 64 Bit. Dies ist CPU- und speicherintensiv.
Festplatten-E / A und Latenz: Bonnie ++
Netzwerk-E / A: Netperf: TCP_STREAM, TCP_RR, TCP_CRR, UDP_RR und UDP_STREAM
Mikrooperationen : rdtscbench : Systemaufrufe, Kommunikation zwischen Prozessleitungen
Die Mittelwerte werden mit den Parametern berechnet:
CPU und Speicher: DURCHSCHNITTLICH (HPL32, HPL64)
Disk I / O: AVERAGE (put_block, rewrite, get_block)
Netzwerk-E / A: DURCHSCHNITTLICH (tcp_crr, tcp_rr, tcp_stream, udp_rr, udp_stream)
Mikrooperationen AVERAGE (getpid (), sysconf (), gettimeofday (), malloc [1M], malloc [1G], 2pipes [], simplemath [])
Für mein Testszenario mit meinen Metriken ergeben sich aus den Ergebnissen der vier Virtualisierungslösungen folgende Durchschnittswerte:
VM-Schicht-Overhead, Linux-Gast:
CPU und Speicher: 14,36%
Netzwerk-E / A: 24,46%
Festplatten-E / A: 8,84%
Datenträgerlatenz zum Lesen: 2,41-mal langsamer
Ausführungszeit für Mikrooperationen: 10,84-mal langsamer
VM Layer Overhead, Windows Gast:
CPU- und Speicher-Durchschnitt für 32 und 64 Bit: 13,06%
Netzwerk-E / A: 35,27%
Festplatten-E / A: 15,20%
Bitte beachten Sie, dass diese Werte generisch sind und nicht das Szenario für bestimmte Fälle widerspiegeln.
Bitte schauen Sie sich den vollständigen Artikel an: http://petersenna.com/de/projects/81-performance-overhead-and-comparative-performance-of-4-virtualization-solutions