Konfigurieren Sie den nsdrvd-Treiber für NetScaler BLX im dedizierten Modus ohne DPDK-Unterstützung

NetScaler BLX umgeht den Netzwerk-Stack des Linux-Kernels, aber die Übertragung von Paketen zwischen Linux-Kernelspeicher und Benutzerbereichsspeicher ist mit einem Mehraufwand verbunden. Dieser Overhead wirkt sich auf die Gesamtleistung der Paketverarbeitung aus.

Wir empfehlen die Verwendung der DPDK-kompatiblen NICs für eine hohe Paketverarbeitungsleistung. Eine Liste der von BLX unterstützten DPDK-kompatiblen NICs finden Sie unter Hardwareanforderungen des Linux-Hosts.

Wenn Sie keine DPDK-kompatiblen NICs haben, können Sie den Treiber nsdrvd verwenden, um die Leistung der Paketverarbeitung ohne DPDK-Unterstützung zu verbessern.

Der Treiber nsdrvd besitzt die gesamte Interaktion mit dem Linux-Kernel für den Empfang und die Übertragung von Paketen. Es verteilt auch den Verkehr an PEs. Sie können den Treiber nsdrvd mit dem Parameter nsdrvd in der Datei blx.conf konfigurieren. In der folgenden Tabelle werden die möglichen Werte des Parameters nsdrvd erläutert.

Möglicher Wert Beschreibung
nsdrvd: 1 Für jeden dedizierten Port wird ein Treiberprozess erstellt. Rx und Tx treten nacheinander auf.
nsdrvd: 2 Für jeden dedizierten Port werden ein Rx-Prozess und ein Tx-Thread erstellt.
nsdrvd: 3 Für jeden dedizierten Port werden ein Rx-Prozess und 2 Tx-Threads erstellt.

Um den Treiber nsdrvd verwenden zu können, muss der Linux-Host gemäß der folgenden Berechnung über mindestens n Kerne verfügen.

n >= WP + (INT*P) + 1

Ort:

  • WP − Anzahl der Worker-Prozesse (Packet Engines) für BLX. Der Parameter worker-processes in der Datei blx.conf gibt die Anzahl der Paket-Engines für BLX an.
  • INT − Anzahl der dedizierten Linux-Host-NIC-Ports für BLX. Der Parameter interface in der Datei blx.conf gibt die für BLX dedizierten Linux-Host-NIC-Ports an.
  • P − Anzahl der nsdrvd-Treiberprozesse für BLX. Der Parameter nsdrvd in der Datei blx.conf gibt die Anzahl der nsdrvd-Treiberprozesse an.

Beispiel: BLX mit der folgenden Konfiguration muss mindestens 10 Kerne haben:

  • WP = 3 Paket-Engines
  • INT = 2 dedizierte Schnittstellen
  • P = 3 nsdrvd-Prozesse

n = WP + (INT*P) + 1 = (3+2*3+1) = 10

Voraussetzungen

nsdrvd-Treiber aktivieren

Sie müssen die Linux-Host-CLI verwenden, um den nsdrvd-Treiber zu aktivieren.

  1. Öffnen Sie die Datei blx.conf, indem Sie den folgenden Befehl ausführen:

    Hinweis:

    Sie können einen beliebigen Texteditor verwenden, um die Datei blx.conf zu bearbeiten.

    nano /etc/blx/blx.conf
    <!--NeedCopy-->
    
  2. Kommentieren Sie den Parameter nsdrvd aus und setzen Sie den Wert auf 1, 2 oder 3.

    blx-system-config
    {
            ...
            nsdrvd: <number of process>
            ...
    }
    <!--NeedCopy-->
    
  3. Speichern Sie die Datei blx.conf.
  4. Starten Sie BLX neu.

    systemctl restart blx
    <!--NeedCopy-->
    

Nach dem Neustart des BLX ist der Treiber nsdrvd auf dem BLX aktiviert.

Treiber nsdrvd deaktivieren

Sie müssen die Linux-Host-CLI verwenden, um den Treiber nsdrvd zu deaktivieren.

  1. Um den Treiber nsdrvd zu deaktivieren, kommentieren Sie den Parameter nsdrvd in der Datei blx.conf aus.

    blx-system-config
    {
            ...
            # nsdrvd: 2
            ...
    }
    <!--NeedCopy-->
    
  2. Starten Sie BLX neu.

    systemctl restart blx
    <!--NeedCopy-->
    

Nach dem Neustart von BLX ist der Treiber nsdrvd auf dem BLX deaktiviert.

Konfigurieren Sie den nsdrvd-Treiber für NetScaler BLX im dedizierten Modus ohne DPDK-Unterstützung