Wenn eine virtuelle Windows-Maschine in vSphere große UDP-Pakete überträgt, ist der Durchsatz geringer als erwartet oder schwankt, auch wenn anderer Datenverkehr zu vernachlässigen ist.
Problem
Wenn eine virtuelle Windows-Maschine UDP-Pakete größer als 1024 Byte überträgt, ist der Durchsatz geringer als erwartet oder schwankt, auch wenn anderer Datenverkehr zu vernachlässigen ist. Im Falle eines Video-Streaming-Servers hält die Video-Wiedergabe an.
Ursache
Für jedes UDP-Paket größer als 1024 Byte wartet der Windows-Netzwerkstapel auf einen Übertragungsabschluss-Interrupt, bevor das nächste Paket gesendet wird. vSphere bietet keine transparente Umgehung der Situation.
Lösung
- Erhöhen Sie den Schwellenwert in Byte, bei dem Windows sein Verhalten in Bezug auf UDP-Pakete ändert, indem Sie die Registrierung des Windows-Gastbetriebssystems ändern.
- Suchen Sie den Registrierungsschlüssel HKLM\System\CurrentControlSet\Services\Afd\Parameters.
- Fügen Sie einen Wert mit dem Namen FastSendDatagramThreshold vom Typ DWORD gleich 1500 hinzu.
- Ändern Sie die Vereinigungseinstellungen der Netzwerkkarte der virtuellen Maschine.
Wenn die virtuelle Windows-Maschine über einen VMXNET3 vNIC-Adapter verfügt, konfigurieren Sie einen der folgenden Parameter in der
.vmx-Datei der virtuellen Maschine. Verwenden Sie den
vSphere Client oder ändern Sie direkt die
.vmx-Datei.
Aktion |
Parameter |
Wert |
Erhöhen Sie die Interrupt-Rate der virtuellen Maschine auf eine höhere Rate als die erwartete Paketrate. Wenn die erwartete Paketrate beispielsweise 15000 Interrupts pro Sekunde entspricht, legen Sie die Interrupt-Rate auf 16000 Interrupts pro Sekunde fest. Setzen Sie den Parameter ethernetX.coalescingScheme auf rbc und den Parameter ethernetX.coalescingParams auf 16000. Die Standard-Interrupt-Rate beträgt 4000 Interrupts pro Sekunde. |
ethernetX.coalescingScheme ethernetX.coalescingParams |
rbc 16000 |
Deaktivieren Sie die Vereinigung für geringen Durchsatz oder latenzempfindliche Arbeitslasten. Informationen zum Konfigurieren von Arbeitslasten mit niedriger Latenz finden Sie unter Best Practices for Performance Tuning of Latency-Sensitive Workloads in vSphere VMs. |
ethernetX.coalescingScheme |
Deaktiviert |
Stellen Sie den Vereinigungsalgorithmus früherer ESXi-Versionen wieder her.
Hinweis: In höheren vSphere-Versionen kann ein früherer Algorithmus nicht wiederhergestellt werden.
|
ethernetX.coalescingScheme |
kalibrieren |
Das X neben ethernet steht für die fortlaufende Nummer der vNIC in der virtuellen Maschine.
Weitere Informationen zum Konfigurieren von Parametern in der .vmx-Datei finden Sie in der vSphere-Administratorhandbuch für virtuelle Maschinen-Dokumentation.
- Ändern Sie die Vereinigungseinstellungen des ESXi-Hosts.
Dieser Ansatz betrifft alle virtuellen Maschinen und alle Netzwerkkarten virtueller Maschinen auf dem Host.
Sie können die Liste „Erweiterte Systemeinstellungen“ für den Host im vSphere Client oder mithilfe eines vCLI-Konsolenbefehls auf dem Host aus der ESXi Shell bearbeiten.
Aktion |
Parameter im vSphere Client |
Parameter für den Befehl esxcli system settings sdvanced set |
Wert |
Legen Sie eine Standard-Interrupt-Rate fest, die höher als die erwartete Paketrate ist. Legen Sie beispielsweise die Interrupt-Rate auf 16000 fest, wenn 15.000 Interrupts pro Sekunde erwartet werden. |
Net.CoalesceScheme Net.CoalesceParams |
/Net/CoalesceScheme /Net/CoalesceParams |
rbc 16000 |
Deaktivieren Sie die Vereinigung für geringen Durchsatz oder latenzempfindliche Arbeitslasten. Informationen zum Konfigurieren von Arbeitslasten mit niedriger Latenz finden Sie unter Best Practices for Performance Tuning of Latency-Sensitive Workloads in vSphere VMs. |
Net.CoalesceDefaultOn |
/Net/CoalesceDefaultOn |
0 |
Stellen Sie das Vereinigungsschema früherer ESXi-Versionen wieder her.
Hinweis: In höheren vSphere-Versionen kann ein früherer Algorithmus nicht wiederhergestellt werden.
|
Net.CoalesceScheme |
/Net/CoalesceScheme |
kalibrieren |
Weitere Informationen zum Konfigurieren eines Hosts aus dem vSphere Client finden Sie in der vCenter Server und Hostverwaltung-Dokumentation. Weitere Informationen zum Festlegen von Hosteigenschaften mithilfe eines vCLI-Befehls finden Sie in der ESXCLI – Referenz-Dokumentation.