Niedrige Verbindungsgeschwindigkeit zwischen zwei VMs
Hallo zusammen,
bei uns sind alle Server virtualisiert. Host ist eine VMware Maschine, Version 7.0.3
Es geht um zwei virtualisierte "Windows Server 2016 Std".
Beide laufen auf dem erwähntem Host. Unter Systemsteuerung, Netzwerkeigenschaften wird bei beiden als "Übertragungsrate: 10,0 GBit/s" angezeigt.
Für beide wurde unter vSphere "VMXNET3" als Netzwerkadapter eingestellt. VM-Tools ist auf beiden Servern installiert.
Wenn ich nun die Geschwindigkeit mit iperf3 teste (Parameter: -bidir) wird mir als Bandbreite nur 2.17 Gbits/sec angezeigt.
Nach meinem Verständnis, müssten doch knapp 10 Gbits/sec möglich sein.
Bei einer Messung zwischen meiner Workstation und einem der Server komme ich im Gigabit-LAN auf >900 Mbits/sec.
Hier liegen ja physische 3 Switche und 20m LAN-Kabel zwischen Server und Workstation.
Bei zwei Servern, die auf demselben Host liegen und mit 10GBit angebunden sind, sollte die Geschwindigkeit doch deutlich höhen sein als angezeigt.
Jemand ne Idee, woran es liegen könnte?
bei uns sind alle Server virtualisiert. Host ist eine VMware Maschine, Version 7.0.3
Es geht um zwei virtualisierte "Windows Server 2016 Std".
Beide laufen auf dem erwähntem Host. Unter Systemsteuerung, Netzwerkeigenschaften wird bei beiden als "Übertragungsrate: 10,0 GBit/s" angezeigt.
Für beide wurde unter vSphere "VMXNET3" als Netzwerkadapter eingestellt. VM-Tools ist auf beiden Servern installiert.
Wenn ich nun die Geschwindigkeit mit iperf3 teste (Parameter: -bidir) wird mir als Bandbreite nur 2.17 Gbits/sec angezeigt.
Nach meinem Verständnis, müssten doch knapp 10 Gbits/sec möglich sein.
Bei einer Messung zwischen meiner Workstation und einem der Server komme ich im Gigabit-LAN auf >900 Mbits/sec.
Hier liegen ja physische 3 Switche und 20m LAN-Kabel zwischen Server und Workstation.
Bei zwei Servern, die auf demselben Host liegen und mit 10GBit angebunden sind, sollte die Geschwindigkeit doch deutlich höhen sein als angezeigt.
Jemand ne Idee, woran es liegen könnte?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4482594506
Url: https://administrator.de/contentid/4482594506
Ausgedruckt am: 22.11.2024 um 09:11 Uhr
12 Kommentare
Neuester Kommentar
Jumbo Framing in den vNICs aktiviert?
https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.monitor ...
https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.monitor ...
Moin
Wir haben neulich unsere ESX Server geupdatet. Nach dem Update der VM-Tools war die Netzwerkverbindung auf einem Server überhaupt nicht mehr möglich. Geholfen hat dann eine Neuinstallation der Tools. Also sollten die Tools einmal geupdatet worden sein, dann hilft vielleicht eine saubere Neuinstallation der VMWare-Tools. Aber Achtung: Der Server verliert dabei die VMXNET3 Netzwerkadapter. Wenn du hier eine feste IP vergeben hast, musst du diese erneut konfigurieren. Ansonsten läuft der Server hinterher auf DHCP-Konfiguration.
Und ebenso nicht unwichtig: Die Neuinstallation hat bei Veeam dazu geführt, dass die neue Netzwerkkarte als "neuer" Server identifiziert wurde. Wir mussten den Server an der Stelle einmal aus Veeam entfernen und neu hinzufügen. Da er als neues Server gewertet wird, unterbrach das bei uns die Backup-Kette, so dass die eine bei Version 6.x endet und die neue bei 7.x beginnt..
Gruß
Doskias
Wir haben neulich unsere ESX Server geupdatet. Nach dem Update der VM-Tools war die Netzwerkverbindung auf einem Server überhaupt nicht mehr möglich. Geholfen hat dann eine Neuinstallation der Tools. Also sollten die Tools einmal geupdatet worden sein, dann hilft vielleicht eine saubere Neuinstallation der VMWare-Tools. Aber Achtung: Der Server verliert dabei die VMXNET3 Netzwerkadapter. Wenn du hier eine feste IP vergeben hast, musst du diese erneut konfigurieren. Ansonsten läuft der Server hinterher auf DHCP-Konfiguration.
Und ebenso nicht unwichtig: Die Neuinstallation hat bei Veeam dazu geführt, dass die neue Netzwerkkarte als "neuer" Server identifiziert wurde. Wir mussten den Server an der Stelle einmal aus Veeam entfernen und neu hinzufügen. Da er als neues Server gewertet wird, unterbrach das bei uns die Backup-Kette, so dass die eine bei Version 6.x endet und die neue bei 7.x beginnt..
Gruß
Doskias
Hallo,
ich habe ähnliche Werte. ESX 6.5 mit phys.NICs 10 G SFP+ und 1 G Cu.
JumboFrames habe ich auf dem vSwitches auf 9000 MTU eingestellt.
iperf3 liefert jetzt folgende, kuriose Werte:
Windows Server 2019 VMXNET3 10 G zu Windows Server 2019 VMXNET3 10 G ->2,2 Gbits/s
Windows Server 2019 VMXNET3 10 G zu Windows Server 2012R2 E1000 1 G ->3,87 Gbit/s
Ein einige Wochen später installierter Server:
Windows Server 2019 VMXNET3 10 G zu Windows Server 2019 VMXNET3 10 G ->5,51 Gbits/s
VMWare Tools Version 10287 auf allen Maschinen. Alle Maschinen auf dem gleichen ESX!?
Grüße Ralf
ich habe ähnliche Werte. ESX 6.5 mit phys.NICs 10 G SFP+ und 1 G Cu.
JumboFrames habe ich auf dem vSwitches auf 9000 MTU eingestellt.
iperf3 liefert jetzt folgende, kuriose Werte:
Windows Server 2019 VMXNET3 10 G zu Windows Server 2019 VMXNET3 10 G ->2,2 Gbits/s
Windows Server 2019 VMXNET3 10 G zu Windows Server 2012R2 E1000 1 G ->3,87 Gbit/s
Ein einige Wochen später installierter Server:
Windows Server 2019 VMXNET3 10 G zu Windows Server 2019 VMXNET3 10 G ->5,51 Gbits/s
VMWare Tools Version 10287 auf allen Maschinen. Alle Maschinen auf dem gleichen ESX!?
Grüße Ralf
Moin insidERR,
jup, bei der einen VM ist RSS funktionsfähig und bei der anderen nicht.
Ob RSS aktiv ist, kannst du ganz einfach mit "Get-NetAdapterRss" per PowerShell herausfinden.
Die PowerShell-Konsole bitte als Administrator starten!
Wenn die Indirectiontable leer ist, dann funktioniert RSS nicht und die Netzwerklast wird nur über einen vCore abgewickelt.
Wie viele vCores haben die VM's überhaupt?
Kannst du mal bitte einen Screenshot von der CPU Konfiguration der VM machen und hier posten, danke.
Beste Grüsse aus BaWü
Alex
Jemand ne Idee, woran es liegen könnte?
jup, bei der einen VM ist RSS funktionsfähig und bei der anderen nicht.
Ob RSS aktiv ist, kannst du ganz einfach mit "Get-NetAdapterRss" per PowerShell herausfinden.
Die PowerShell-Konsole bitte als Administrator starten!
Wenn die Indirectiontable leer ist, dann funktioniert RSS nicht und die Netzwerklast wird nur über einen vCore abgewickelt.
Wie viele vCores haben die VM's überhaupt?
Kannst du mal bitte einen Screenshot von der CPU Konfiguration der VM machen und hier posten, danke.
Beste Grüsse aus BaWü
Alex
Moin @aqui,
das kann man so pauschal nicht sagen, auch Linuz und VMwarguin nutzen RSS.
Kann jedoch gut sein, dass es dort mit der default konfiguration besser läuft als beim Hyper-Pfau oder nativem Windows. 🤪
Gruss Alex
Ob RSS aktiv ist, kannst du ganz einfach mit "Get-NetAdapterRss" per PowerShell herausfinden.
Das heisst im Umkehrschluss dann mit zwei z.B. Debian VMs wäre das gar nicht erst passiert?das kann man so pauschal nicht sagen, auch Linuz und VMwarguin nutzen RSS.
Kann jedoch gut sein, dass es dort mit der default konfiguration besser läuft als beim Hyper-Pfau oder nativem Windows. 🤪
Gruss Alex
Moin @insidERR,
ja, dass wollte ich eh als nächstes fragen, mit wie vielen Workern/Threads du auf die 10G loslässt.
Um 10G auszureizen, musst du mit Multithreads arbeiten, anders geht das mit normaler Hardware nicht.
Bei 10G sollte man max. 4 RSS Queues und 4 RSS Prozessoren benutzen, alles darüber hinaus erzeugt nur unnötigen Overhead.
Wenn du das jedoch umstellst, wird RSS auf der VM danach wahrscheinlich nicht mehr funktionieren, war zumindes bei mit vor ein paar Tagen der Fall. 🤢🤮
Dann half nur noch den Netzwerkadapter über den Gerätemanager zu deinstallieren und neu erkennen zu lassen.
Ja, das ist bei => 10G so.
Beim Dateien kopieren hast du neben IP & TCP auch noch SMB und das Storage dazwischen.
Überprüf mal, ob vor allem das Storage die Daten mit der Geschwindigkeit auch verarbeiten kann.
Gruss Alex
was mir jetzt aufgefallen ist, dass wenn ich als Parameter -P 10 (number of parallel client streams to run) eigebe, die Übertragungsrate auf >15Gbits/sec steigt.
ja, dass wollte ich eh als nächstes fragen, mit wie vielen Workern/Threads du auf die 10G loslässt.
Um 10G auszureizen, musst du mit Multithreads arbeiten, anders geht das mit normaler Hardware nicht.
Siehe Screenshot. Habe paar Informationen zusammen gefasst.
Beide VMs sind gleich konfiguriert und bei beiden liefert die PowerShell dasselbe Ergebnis.
Beide VMs sind gleich konfiguriert und bei beiden liefert die PowerShell dasselbe Ergebnis.
Bei 10G sollte man max. 4 RSS Queues und 4 RSS Prozessoren benutzen, alles darüber hinaus erzeugt nur unnötigen Overhead.
Wenn du das jedoch umstellst, wird RSS auf der VM danach wahrscheinlich nicht mehr funktionieren, war zumindes bei mit vor ein paar Tagen der Fall. 🤢🤮
Dann half nur noch den Netzwerkadapter über den Gerätemanager zu deinstallieren und neu erkennen zu lassen.
Habe langsam die Vermutung, dass der maximale Durchsatz nur bei zahlreichen Parallelverbindungen erreicht wird.
Ja, das ist bei => 10G so.
Wenn ich große Dateien zwischen den Servern kopiere, fängt der Kopiervorgang zwar mit knapp 1GByte/Sec an und sinkt nach wenigen Sekunden auf 30-60MByte/Sec. Das hällt aber auch nur wenige Sekunden an und dann wirds noch langsamer.
Beim Dateien kopieren hast du neben IP & TCP auch noch SMB und das Storage dazwischen.
Überprüf mal, ob vor allem das Storage die Daten mit der Geschwindigkeit auch verarbeiten kann.
Gruss Alex
Moin insidERR,
die performance des Storage solltest du auf jeden Fall als nächstes prüfen.
Am besten machst du das mit "diskspd", damit kannst du mit einem bestimmten Parameter das Software-Caching von Windows umgehen, welches gerne mal die Benchmarkergebnisse, gewaltig verfälscht.
Folgend zwei Messbeispiele.
100% sequentiell lesen mit einer Blockgrösse von 64K mit 4 Threads und 8 ausstehenden IO's pro Thread.
100% sequentiell schreiben mit einer Blockgrösse von 64K mit 4 Threads und 8 ausstehenden IO's pro Thread.
Test mal damit bitte als nächstes die Leistung deiner Datenträger.
Hier noch ein paar Infos zu diskspd.
https://learn.microsoft.com/de-de/azure-stack/hci/manage/diskspd-overvie ...
https://github.com/Microsoft/diskspd/wiki/Command-line-and-parameters
Beste Grüsse aus BaWü
Alex
An die Storage habe ich jetzt nicht gedacht.
Glaub, die ist nur mit 6GBit angebunden. Da müssen die Daten ja runter und wieder hochgeladen werden.
Glaub, die ist nur mit 6GBit angebunden. Da müssen die Daten ja runter und wieder hochgeladen werden.
die performance des Storage solltest du auf jeden Fall als nächstes prüfen.
Am besten machst du das mit "diskspd", damit kannst du mit einem bestimmten Parameter das Software-Caching von Windows umgehen, welches gerne mal die Benchmarkergebnisse, gewaltig verfälscht.
Folgend zwei Messbeispiele.
100% sequentiell lesen mit einer Blockgrösse von 64K mit 4 Threads und 8 ausstehenden IO's pro Thread.
diskspd -t4 -o8 -b64k -si64k -w0 -d60 -Su -D -L -c10G C:\TEST\IO10G.dat
100% sequentiell schreiben mit einer Blockgrösse von 64K mit 4 Threads und 8 ausstehenden IO's pro Thread.
diskspd -t4 -o8 -b64k -si64k -w100 -d60 -Su -D -L -c10G C:\TEST\IO10G.dat
Test mal damit bitte als nächstes die Leistung deiner Datenträger.
Hier noch ein paar Infos zu diskspd.
https://learn.microsoft.com/de-de/azure-stack/hci/manage/diskspd-overvie ...
https://github.com/Microsoft/diskspd/wiki/Command-line-and-parameters
Beste Grüsse aus BaWü
Alex
Wenns das denn war, bitte nicht vergessen deinen Thread dann auch als erledigt zu schliessen!