Performance zwischen Normal / HyperV / VMware Player

Vorwort:

Ich habe es in meinem Windows eigentlich immer so gehalten, dass ich zum Betreiben von virtuellen Maschinen HyperV verwende, da dies in der Professional inkludiert ist. Und da die Software vollkommen integriert ist, wird sie wohl auch eine bessere Performance bieten als ein Extra-Programm ala VMware.

Nun habe ich aber erfahren, dass HyperV bei einem Client-OS genauso funktioniert, wie beim Server (2012 usw.): der HyperV läuft nicht als Dienst im Windows, sondern läuft als eigenständiger HyperVisor, auf dem dann der Windows Host selbst läuft!
Arbeitet also wie ein VMware ESXi Server!
Das ist zwar gut für Unternehmen, wo es um die Performance von den VMs geht (und nicht des Hosts). Aber da der Host somit selbst virtualisiert ist, wird er nicht so performant sein, als wenn er direkt auf der Hardware laufen würde.

Deshalb habe ich es auf mich genommen, einige Benchmarks zu fahren.
Und die Ergebnisse sind etwas... erstaunlich.


PS: Eine eher wissenschaftliche Arbeit hierzu ist zu finden unter: http://petersenna.com/files/peters-top4-virtualization-benchmark-1.29.pdf

Hardware / Software:

Hardware:

  • Intel Core i7-4770 @4.5 GHz
  • 16 GB Ram @2400-10-12-12-31-2CL
  • GTX 780 TI @1150 / 1750 MHz
  • Samsung 840 Evo 1TB

Software:

  • Windows 10 Pro x64
  • Chipset: 10.11.7
  • nVidia: 353.62 whql
  • HyperV mit inst. Wind(inkl.)
  • VMware Player 12
  • VM: Win10x64Pro mit 8 Cores & 4GB Ram

Ergebnisse:

 OhneHyperVVMware
  HostVMHostVM
Boottime (sek)7,215,3na7,1na
CPU: HyperPI (sek)62,82964,52362,51062,59964,467
GPU: FurMark (Punkte)2.6972.697na2.6982.994
System: PCMark7 (Punkte)6.2196.1704.7086.2176.730
Disk: CDM4
Mem: Aida64

Conclusion:

Normal - HyperV:
Wie man erkennen kann, wird der Host vom HyperV-Hypervisor durchaus ausgebremst!

Das sieht man an der Bootzeit genauso, wie am PCMark. Auch beim CDM und Aida Benchmark sind leichte einbußen bemerkbar.
Außerdem ist OpenGL nicht verfügbar und DirectX scheint recht langsam zu sein.
Im Gaming wird der Host jedoch nicht all zu sehr ausgebremst.


Normal - VMware:
Die Werte sind im Vergleich zum Host praktisch gleich; das ergibt sich, da der VMware Player wirklich im Windows läuft und nicht umgekehrt.

ABER: im Vergleich zur VM sieht man dann doch sehr... unglaubliche Ergebnisse:
Die Werte im CDM und Aida sind zwar etwas niedriger (was zu erwarten ist), doch beim FurMark und PCMark sind die Werte der VM sogar höher!?
Und zwar nicht nur im Vergleich mit dem "Host", sondern auch, wenn gar keine virtuelle Umgebung installiert ist!
Ich habe die Benchmarks 2-3x wiederholt, mit dem selben Ergebnis...

Hierzu noch die Detailansicht im PCMark (mouse over):

Hier sieht man, dass vor allem "Transcoding" und "Directx9" in der VM um einiges performanter ist, sonst ist über all die normale Maschine schneller.
Wieso?
Also das kann ich mir beim besten Willen nicht erklären...

HyperV - VMware
Mal vom Host abgesehen, der mit VMware eindeutig schneller ist, ist der Vergleich zwischen den beiden VMs nicht so klar...

Gaming (OpenGL, Directx) gewinnt der VMware Player und deshalb wohl auch im PCMark.
Im CDM jedoch hat klar der HyperV die Nase vorne. Auch im HyperPI ist er etwas schneller.
Im Aida gewinnt einmal der, einmal der andere:

  • Memory: HyperV
  • L1 Cache: VMware
  • L2 Cache: HyperV
  • L3 Cache: VMware
WTF?
Zum Schluss kann man sagen:
  • Bezogen auf den Host ist VMware besser.
  • Gaming ist VMware besser.
  • Arbeiten ist (teils) HyperV besser.
Ich für meinen Teil werde also ab jetzt für meine VMs am Client den (kostenlosen!) VMware Player verwenden!