Machen Sie sich mit der Verwendung von TCP-Segmentierungs-Offload (TSO) in VMkernel-Netzwerkadaptern und virtuellen Maschinen vertraut, um die Netzwerkleistung in Arbeitslasten mit hohen Latenzanforderungen zu steigern.

TSO auf dem Übertragungspfad von physischen Netzwerkadaptern, VMkernel-Netzwerkadaptern und Netzwerkadaptern virtueller Maschinen steigert die Leistung von ESXi-Hosts durch das Reduzieren des Overheads der CPU für TCP/IP-Netzwerkvorgänge. Wenn TSO aktiviert ist, unterteilt der Netzwerkadapter anstelle der CPU größere Datenblöcke in TCP-Segmente. Der VMkernel und das Gastbetriebssystem können mehrere CPU-Zyklen zum Ausführen von Anwendungen verwenden.

Um die höhere Leistung, die TSO bietet, zu nutzen, aktivieren Sie TSO auf dem Datenpfad auf einem ESXi-Host, einschließlich physischer Netzwerkadapter, VMkernel und Gastbetriebssystem. Standardmäßig ist TSO im VMkernel des ESXi-Hosts und in den VMXNET 2- und VMXNET 3-VM-Adaptern aktiviert.

Informationen zur Position der TCP-Paketsegmentierung im Datenpfad finden Sie im VMware Knowledgebase-Artikel Understanding TCP Segmentation Offload (TSO) and Large Receive Offload (LRO) in a VMware environment (Funktionsweise von TCP Segmentation Offload (TSO) und Large Receive Offload (LRO) in einer VMware-Umgebung).

Verwaltung von Software-TSO im VMkernel

Wenn ein physischer Netzwerkadapter Probleme mit TSO hat, können Sie vorübergehend die Softwaresimulation von TSO im VMkernel aktivieren, bis die Probleme behoben sind.

Prozedur

  • Führen Sie die Konsolenbefehle esxcli network nic software set aus, um die Softwaresimulation von TSO im VMkernel zu aktivieren oder zu deaktivieren.
    • Aktivieren Sie die Softwaresimulation von TSO im VMkernel.
      esxcli network nic software set --ipv4tso=1 -n vmnicX
      esxcli network nic software set --ipv6tso=1 -n vmnicX
    • Deaktivieren Sie die Softwaresimulation von TSO im VMkernel.
      esxcli network nic software set --ipv4tso=0 -n vmnicX
      esxcli network nic software set --ipv6tso=0 -n vmnicX

    Wobei X in vmnicX die Nummer der Netzwerkkartenports im Host darstellt.

    Die Konfigurationsänderung bleibt auch nach dem Neustart des Hosts erhalten.

Vorgehensweise zum Ermitteln, ob TSO auf den physischen Netzwerkadaptern eines ESXi-Hosts unterstützt wird

Untersuchen Sie, ob beim physischen Netzwerkadapter ein Offload der TCP/IP-Paketsegmentierung stattfindet, wenn Sie die Netzwerkleistung eines Hosts mit latenzempfindlichen Workloads schätzen. Wenn ein physischer Netzwerkadapter TSO unterstützt, dann ist TSO standardmäßig aktiviert.

Prozedur

  • Führen Sie den folgenden Konsolenbefehl aus, um zu ermitteln, ob TSO auf den physischen Netzwerkadaptern eines Hosts aktiviert ist.
    esxcli network nic tso get

Verwaltung von TSO auf einem ESXi-Host

Aktivieren Sie TCP Segmentation Offload (TSO) im Übertragungspfad, um der Netzwerkkarte die Unterteilung größerer Datenblöcke in TCP-Segmente zu ermöglichen. Deaktivieren Sie TSO, um die TCP-Segmentierung von der CPU durchführen zu lassen.

Standardmäßig verwendet ein Host Hardware-TSO, sofern dessen physische Adapter dies unterstützen.

Prozedur

  1. Navigieren Sie im vSphere Client zum Host.
  2. Erweitern Sie auf der Registerkarte Konfigurieren System.
  3. Klicken Sie auf Erweiterte Systemeinstellungen.
  4. Geben Sie für IPv4 den Wert des Parameters Net.UseHwTSO und für IPv6 des Parameters Net.UseHwTSO6 ein.
    • Um TSO zu aktivieren, setzen Sie Net.UseHwTSO und Net.UseHwTSO6 auf 1.
    • Um TSO zu deaktivieren, setzen Sie Net.UseHwTSO und Net.UseHwTSO6 auf 0.
  5. Klicken Sie auf OK, damit die Änderungen wirksam werden.
  6. Um das Treibermodul des physischen Adapters neu zu laden, führen Sie den Konsolenbefehl esxcli system module set in der ESXi Shell auf dem Host aus.
    1. Um den Treiber zu deaktivieren, führen Sie den Befehl esxcli system module set mit der Option --enabled false aus.
      esxcli	system module set	--enabled false --module nic_driver_module
    2. Um den Treiber zu aktivieren, führen Sie den Befehl esxcli system module set mit der Option --enabled true aus.
      esxcli	system module set	--enabled true --module nic_driver_module

Ergebnisse

Wenn der physische Adapter Hardware-TSO nicht unterstützt, segmentiert der VMkernel große TCP-Pakete, die vom Gastbetriebssystem geschickt werden, und sendet sie an den Adapter.

Vorgehensweise zum Feststellen, ob TSO auf einem ESXi-Host aktiviert ist

Ermitteln Sie, ob Hardware-TSO im VMkernel aktiviert ist, wenn Sie die Netzwerkleistung eines Hosts mit latenzempfindlicher Arbeitslast schätzen. Hardware-TSO ist standardmäßig auf einem ESXi-Host aktiviert.

Prozedur

  1. Navigieren Sie im vSphere Client zum Host.
  2. Erweitern Sie auf der Registerkarte Konfigurieren System.
  3. Klicken Sie auf Erweiterte Systemeinstellungen.
  4. Sehen Sie sich die Werte der Parameter Net.UseHwTSO und Net.UseHwTSO6 an.
    Net.UseHwTSO zeigt den TSO-Status für IPv4, Net.UseHwTSO6 jenen für IPv6 an. TSO ist aktiviert, wenn der Wert auf 1 festgelegt ist.

Verwaltung von TSO auf einer virtuellen Linux-Maschine

Aktivieren Sie TSO-Unterstützung auf dem Netzwerkadapter einer virtuellen Linux-Maschine, damit das Gastbetriebssystem TCP-Pakete, die segmentiert werden müssen, zum VMkernel weiterleitet.

Voraussetzungen

  • Überprüfen Sie, ob ESXi das Linux-Gastbetriebssystem unterstützt.

    Informationen finden Sie in der Dokumentation VMware-Kompatibilitätshandbuch.

  • Stellen Sie sicher, dass der Netzwerkadapter auf der virtuellen Linux-Maschine vom Typ VMXNET2 oder VMXNET3 ist.

Prozedur

  • Führen Sie in einem Terminalfenster auf dem Linux-Gastbetriebssystem zum Aktivieren oder Deaktivieren von TSO den Befehl ethtool mit den Optionen -K und tso aus.
    • Führen Sie zum Aktivieren von TSO den folgenden Befehl aus:
      ethtool -K ethY tso on
    • Führen Sie folgenden Befehl aus, um TSO zu deaktivieren:
      ethtool -K ethY tso off

    Das Y in „ethY“ gibt hier die Sequenznummer der Netzwerkkarte in der virtuellen Maschine an.

Verwaltung von TSO auf einer virtuellen Windows-Maschine

Standardmäßig ist TSO auf einer virtuellen Windows-Maschine auf VMXNET2- und VXMNET3-Netzwerkadaptern aktiviert. Aus Leistungsgründen können Sie TSO deaktivieren.

Voraussetzungen

  • Überprüfen Sie, ob ESXi das Windows-Gastbetriebssystem unterstützt. Informationen finden Sie in der Dokumentation VMware-Kompatibilitätshandbuch.
  • Stellen Sie sicher, dass der Netzwerkadapter auf der virtuellen Windows-Maschine vom Typ VMXNET2 oder VMXNET3 ist.

Prozedur

  1. Klicken Sie in „Netzwerk- und Freigabecenter“ in der Windows-Systemsteuerung auf den Namen des Netzwerkadapters.
  2. Klicken Sie auf seinen Namen.
    Ein Dialogfeld zeigt den Status des Adapters an.
  3. Klicken Sie auf Eigenschaften und unter dem Netzwerkadaptertyp auf Konfigurieren.
  4. Setzen Sie auf der Registerkarte Erweitert die Eigenschaften Large Send Offload V2 (IPv4) und Large Send Offload V2 (IPv6) auf Aktiviert oder Deaktiviert.
  5. Klicken Sie auf OK.
  6. Starten Sie die virtuelle Maschine neu.