Warum erhalte ich zwischen Solaris und VMware nur 1 Gbit/s?

Warum erhalte ich zwischen Solaris und VMware nur 1 Gbit/s?

Ich habe einen VMWare ESXi 5.1.0 (Build 1065491) Host mit einemSolaris (OpenIndiana)VM als Gast. Ich habe einen privaten vSwitch für NFS-Verkehr zwischen ESXi und Solaris erstellt. Auf der Solaris-VM sind die VMware-Tools installiert und sie verfügt über einen VMXnet3-Adapter ( vmxnet3s0) auf dem privaten vSwitch.

Beim Lesen einer Datei direkt auf der Solaris-VM dderreiche ich Geschwindigkeiten von bis zu 4,5 GB/s (44,8 Gigabit/s) beim Lesen einer Datei (sofern sie von meinem ARC/L2ARC zwischengespeichert wurde).

Beim Lesen der gleichen Datei über NFS von VMware aus erreiche ich maximal 0,163 GB/s (1,131 Gigabit/s).

Warum gibt es einen solchen Unterschied? Ich gehe davon aus, dass TCP und NFS sowie virtuelle Netzwerke einen gewissen Overhead verursachen, aber dieser Unterschied ist nicht das, was ich alsÜberkopf, es sieht aus, als ob etwas nicht stimmt.

Die CPU der Solaris-VM ist nie zu mehr als 20 % ausgelastet. Die durchschnittliche Auslastung ist niedrig. Auf dem Host ist viel freier RAM vorhanden (kein Swapping) und die CPU-Auslastung auf dem Host liegt deutlich unter 50 % (normalerweise etwa 33 %). Auf der Gast-VM dladm show-linkprop vmxnet3s0wird angezeigt, dass die Geschwindigkeit 10000 (10 Gbit/s) und die MTU 9000 beträgt (Jumbo Frames aktiviert).

Als Test habe ich versucht, eine „Standard“-E1000-vmnic ( e1000g0) zu verwenden und konnte Jumbo-Frames (9000 MTU) aktivieren. Beim Lesen der gleichen Datei über NFS von VMware aus erreichte ich jedoch nur maximal 0,124 GB/s (0,992 Gigabit/s), was Sinn macht, da die Verbindungsgeschwindigkeit des E1000 nur 1000 Megabit beträgt.

Warum werden zwischen VMware ESXi 5.1 und meiner OpenIndiana Solaris VM Übertragungsgeschwindigkeiten von nur etwa 1 Gigabit/Sekunde angezeigt?


AKTUALISIEREN:Nachdem ich die von VFrontDe in seiner Antwort empfohlene Leistungsoptimierung angewendet habe, erreiche ich jetzt beeindruckende 8-9 Gbit/s zwischen Solaris und einer Linux-VM mit einem vmxnet3Adapter. Ich erreiche ~6 Gbit/s beim Lesen einer zwischengespeicherten Datei über NFS unter Linux:

root@iperf:/mnt/public/ISO# dd if=Test.cdr of=/dev/null bs=1024k
5884+1 records in
5884+1 records out
6170824704 bytes (6.2 GB) copied, 8.44985 s, 730 MB/s

Wenn ich jedoch dieselbe Datei auf dem VMware ESXi-Host lese, erhalte ich miserable 1,91 Gbit/s:

/vmfs/volumes/3d77318f-82c7901a/ISO # time dd if=Windows\ 7\ Home\ Premium.cdr of=/dev/null bs=1024k
5884+1 records in
5884+1 records out
real    0m 27.85s
user    0m 17.32s
sys     0m 0.00s

6,2 GB in 27,85 Sekunden entspricht 1,91 Gbit/s.

vmknicWas führt dazu , dass die Leistung von Vmware ESXi so schlecht ist, obwohl vmxnet3sie vmxnet3so viel besser ist?

Antwort1

Es sieht so aus, als ob es einige Probleme und Fehler mit dem vmxnet3-Adapter für Solaris gibt. Bitte sehen Sie sich diesen sehr ausführlichen Beitrag an:http://blog.cyberexplorer.me/2013/03/Verbesserung des VM-zu-VM-Netzwerkdurchsatzes.htmlDer Autor konnte nach einigen Optimierungen einen deutlich besseren Durchsatz erzielen, aber es wäre zu viel, hier alle Schritte zu wiederholen.

verwandte Informationen