Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:virtualisierung:misc:misc_performancevergleich]] 

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

anwenderwiki:virtualisierung:misc:misc_performancevergleich [2012/12/08 14:50] (aktuell)
Zeile 1: Zeile 1:
 +
 +======Testbericht Virtualisierung======
 +Zusammenschau der Tests zur Virtualisierung der Linux-Musterlösung. Die Verfahren sind „Homemade",​ die Interpretation der Ergebnisse bleiben offen.
 +
 +
 +======Verwendete Hardware======
 +  *Intel Server mit Intel(R) Xeon(R) CPU X3460  @ 2.80GHz, 4 Kerne mit Hyperthreading
 +  *16 GB RAM
 +  *Intel (R) RAID Controller RS2BL080 Raid-Controller ohne Battery Back und Write-Cache,​ 6x  SEAGATE ST31000424SS (1TB) Festplatten.\\ ​ 4 Platten zu einem Raid 1+0 verbunden, 2 Platten als Hotspare.
 +
 +======Untersuchte Lösungen======
 +  *Debian squeeze als Xen-Dom0, Debian squeeze als paravirtualisierter Gast.
 +  *Debian squeeze als Host mit Virtualbox 4.1, Debian squeeze als vollvirtualisierter Gast.
 +  *Proxmox 2.1 (debian squeeze) als KVM Host, Debian squeeze als paravirtualisierter KVM Gast. RAW-Disk, virtio-Treiber.
 +
 +======Testverfahren======
 +Die Testverfahren sind sicherlich fehlerbehaftet und dürfen daher selbstverständlich Gegenstand von Diskussionen sein.
 +
 +
 +=====Disk-Performance=====
 +Nachdem ich mit den Ergebnissen von bonnie++ nicht wirklich etwas anfangen konnte, habe ich die Plattenperformance folgendermaßen vergleichend getestet:
 +
 +<code oobas>
 +hdparm -tT /​dev/<​name>​
 +
 +</​code>​
 +Gemitteltes Ergebnis über 5 Läufe.
 +
 +Außerdem sequenzielles schreiben verschieden großer Dateien aus /dev/zero (1GB/​5GB/​10GB)
 +
 +<code oobas>
 +dd if=/​dev/​zero of=/​testing/​zero bs=1k count=1000k
 +dd if=/​dev/​zero of=/​testing/​zero bs=1k count=5000k
 +dd if=/​dev/​zero of=/​testing/​zero bs=1k count=10000k
 +
 +</​code>​
 +
 +=====Netz-Performance=====
 +  *Iperf (Server/​Client Test):​\\ ​ ''​Server:​ iperf -s\\  Client: iperc -c <​serverip>''​
 +  *scp:Große Datei kopieren.\\ ​ ''​scp file root@<​ip>:​~/​file''​
 +  *netcat: Große Datei kopieren, Messung der Zeit.\\ ​  ''​Sender:​ time netcat <ziel ip> 60000 < file\\ ​  ​Empfänger:​ nc -l -p 60000 > file''​
 +
 +======Ergebnisse ======
 +
 +=====Xen=====
 +|Xen|squeeze-Dom0 (Host)|squeeze-DomU (Gast)|
 +|  **Festplattenperformance** ​ |||
 +|hdparm|369 MB/s|343 MB/s|
 +|dd 1GB schreiben|563 MB/s|230 MB/s|
 +|dd 5 GB schreiben|224 MB/s|115 MB/s|
 +|  **Netzwerk** ​ |||
 +|iperf|935 Mbits/​sec|936 Mbits/sec|
 +|scp|58 MB/s|55 MB/s|
 +|netcat|96 MB/s|92 MB/s|
 +
 +
 +
 +Bei Verwendung eines RAID-6 geht die Festplattenperformance stark zurück, da beim verwendeten Controller kein Schreibcache aktiviert war. Es werden in der Dom0 nur nach Maximalwerte von etwa 70MB/s erreicht, in der DomU nur noch etwa 20MB/s.
 +
 +**Optimierungen:​**
 +
 +  *In der Dom0 waren die Dateisystemoptionen relatime und data=ordered aktiviert.
 +  *Das Scheduling in der DomU wurde von cfq auf noop gesetzt.
 +
 +=====Virtualbox=====
 +Die Host Werte sind gegenüber dem Xen Test unverändert,​ da das Host System dasselbe ist.
 +
 +|Virtualbox|squeeze (Host)|squeeze (Gast)|
 +|  **Festplattenperformance** ​ |||
 +|hdparm|369 MB/s|65 MB/s|
 +|dd 1GB schreiben|563 MB/s|217 MB/S|
 +|dd 5 GB schreiben|224 MB/s|119 MB/s|
 +|  **Netzwerk** ​ |||
 +|iperf|935 Mbits/​sec|607 Mbit/sec|
 +|scp|58 MB/s|34 MB/s|
 +|netcat|96 MB/s|56 MB/s|
 +
 +
 +
 +
 +=====Proxmox=====
 +Was mir hier Rätsel aufgibt, ist die schlechte Performance auf dem Host System, da es sich bei Proxmox 2.1 wie bei den beiden anderen Tests um ein debian Squeeze handelt. Möglicherweise habe ich das was verkehrt gemacht.
 +
 +
 +
 +|Proxmox|Proxmox 2.1 (Host)|squeeze (KVM Gast)|
 +|  **Festplattenperformance** ​ |||
 +|hdparm|20 MB/s|51 MB/s|
 +|dd 1GB schreiben|366 MB/​s|16,​4MB/​S|
 +|dd 5 GB schreiben|182 MB/s|12,4 MB/s|
 +|  **Netzwerk** ​ |||
 +|iperf|939 Mbits/​sec|404 Mbit/sec|
 +|scp|49 MB/s|12,4 MB/s|
 +|netcat|94 MB/s|15,0 MB/s|
 +
 +
 +
 +**Anmerkungen:​**
 +
 +  *Die schlechten Netzwerkwerte werden höchstwahrscheinlich durch die miserable Plattenperformance verursacht.·Nach iperf sollten ja schon zwischen 30 und 40 MB/s möglich sein.
 +  *Es wurde nicht getestet, wie sich ein vserver Container verhält - dort sollten Werte erreicht werden, die sehr nahe an der des Host liegen. Inwieweit die Musterlöung als Container virtualisiert werden kann, müsste man überprüfen,​ beim Server könnte das klappen, beim IPCop sicher nicht.
 +
 +======Fazit======
 +Folgendes habe ich gelernt:
 +
 +  *Die Wahl des Raid Levels hat großen Einfluß auf die Plattenperformance,​ die für die Musterlöung wegen des Imagings nicht unerheblich ist. Der Write Penalty eines Raid6 ohne Write Cache kann nicht vernachlässigt werden.
 +  *Virtualbox ist besser als sein Ruf.
 +  *Für Paravirtualisierung scheint mir Xen besser geeignet als Proxmox/​KVM. Einziger „Nachteil"​ ist die fehlende GUI und das komplexere Netzwerksetup „von Hand".
  
 [[anwenderwiki:virtualisierung:misc:misc_performancevergleich]] anwenderwiki/virtualisierung/misc/misc_performancevergleich.txt · Zuletzt geändert: 2012/12/08 14:50 (Externe Bearbeitung)