ADC

Gleichzeitiges Multithreading für NetScaler VPX in öffentlichen Clouds konfigurieren

NetScaler verwendet verschiedene dedizierte Kerne für seine Management- und Datenebenenfunktionen. Ein Kern wird in der Regel Funktionen der Managementebene zugewiesen. Die restlichen verfügbaren Kerne sind Datenebenenfunktionen zugewiesen.

Die folgende Abbildung zeigt eine vereinfachte Darstellung eines NetScaler VPX mit 4 Kernen.

Abbildung 1. NetScaler-Management und Datenebenenworkload auf einem Vierkernsystem

NetScaler ohne SMT-Funktion

Das vorherige Bild zeigt zwar die Verteilung der NetScaler-Funktionen auf die verfügbaren Kerne, es ist jedoch nicht unbedingt eine genaue Darstellung der zugrunde liegenden Hardware. Die meisten modernen x86-CPUs bieten zwei logische Kerne pro physischem Kern über Funktionen, die kommerziell als Intel Hyperthreading (HT) oder AMD Simultaneous Multithreading (SMT) bekannt sind.

Das folgende Bild zeigt NetScaler VPX, das auf einer modernen CPU mit deaktiviertem SMT läuft. Jeder CPU-Kern ist in zwei oder mehr logische CPUs aufgeteilt, die allgemein als Threads bezeichnet werden. Jeder Thread hat seinen eigenen Satz replizierter Ressourcen, einen Teil der partitionierten Ressourcen, und konkurriert mit seinen Geschwister-Threads um gemeinsam genutzte Ressourcen.

Abbildung 2. NetScaler-Management und Datenebenenworkload auf einem 4-Core-/8-Thread-System mit deaktiviertem SMT

NetScaler mit deaktivierter SMT-Funktion

Das folgende Bild zeigt NetScaler VPX, das auf einer modernen CPU mit aktiviertem SMT ausgeführt wird.

Abbildung 3. NetScaler-Management und Workload auf Datenebene auf einem 4-Core-System mit aktiviertem SMT

NetScaler mit aktivierter SMT-Funktion

Die Aktivierung von SMT verbessert die NetScaler-Leistung durch:

  • Ausführen von Datenebenenfunktionen auf allen physischen Kernen.
  • Verschieben der Funktionen der Verwaltungsebene in den Geschwisterthread.
  • Einführung eines flexiblen Mechanismus zur Ressourcenbegrenzung, um zu verhindern, dass Funktionen der Verwaltungsebene die Leistung von Funktionen der Datenebene beeinträchtigen.

SMT-Unterstützungsmatrix

Die VPX-Plattformen, Cloud-Instanztypen und NetScaler-Versionen, die SMT unterstützen, sind in der folgenden Tabelle aufgeführt.

VPX-Plattform Instanztypen NetScaler VPX Version
AWS M5, 5n, c5, c5n 14.1-12.x und höher
Azure Jede Instanzfamilie mit Hyperthreading, zum Beispiel DS_v4 14.1-12.x und höher
GCP e2-Instanzen 14.1-12.x und höher

Hinweis:

Durch die Aktivierung der SMT-Funktion wird die NetScaler VPX-Leistung bei den unterstützten Typen gesteigert.

Einschränkungen

Die SMT-Funktion verdoppelt effektiv die vCPUs, die einer NetScaler-Appliance zur Verfügung stehen. Die Lizenzbeschränkungen müssen berücksichtigt werden, damit die NetScaler Appliance sie verwenden kann.

Betrachten Sie beispielsweise NetScaler VPX, das in Abbildung 3 dargestellt ist. Wenn eine durchsatzbasierte Lizenzierung verwendet wird, ist eine Lizenz von 10 Gbit/s oder höher mit der SMT-Funktion erforderlich, um 8 vCPUs zu aktivieren. Bisher war eine 1-Gbit/s-Lizenz ausreichend, um 4 vCPUs zu aktivieren. Wenn eine vCPU-Lizenzierung verwendet wird, muss NetScaler VPX so konfiguriert werden, dass Lizenzen für die doppelte Anzahl an vCPUs ausgecheckt werden, damit ein ordnungsgemäßer Betrieb gewährleistet ist. Wenden Sie sich an den technischen Support von NetScaler, um weitere Informationen zu diesem Thema zu erhalten.

SMT konfigurieren

Bevor Sie die SMT-Funktion aktivieren, stellen Sie sicher, dass Ihre Plattform diese Funktion unterstützt. Weitere Informationen finden Sie in der Tabelle mit der Unterstützungsmatrix im vorherigen Abschnitt.

Gehen Sie wie folgt vor, um die SMT-Funktion zu aktivieren:

  1. Erstellen Sie eine leere Datei mit dem Namen .smt_handling im Verzeichnis “/nsconfig”.
  2. Speichert die aktuelle Konfiguration.
  3. Starten Sie die NetScaler VPX-Instanz neu.

    nscli> shell touch /nsconfig/.smt_handling
      Done
    nscli> reboot
    Are you sure you want to restart NetScaler (Y/N)? [N]:Y
    Done
    <!--NeedCopy-->
    
  4. Nach dem Neustart zeigt NetScaler an, dass die Funktion sowohl verfügbar als auch aktiviert ist.

    smt_handling and smt_handling_active are set to “1”
    
    > shell sysctl -a | grep smt_handling
    netscaler.smt_handling_platform: 1
    netscaler.smt_handling: 1
    netscaler.smt_handling_active: 1
    <!--NeedCopy-->
    

Gehen Sie wie folgt vor, um die SMT-Funktion zu deaktivieren:

  1. Entfernen Sie die Datei .smt_handling.
  2. Starten Sie die NetScaler VPX-Instanz neu.

    shell rm -f /nsconfig/.smt_handling
      Done
    
    reboot
    
    Are you sure you want to restart NetScaler (Y/N)? [N]:Y
    Done
    <!--NeedCopy-->
    
  3. Nach dem Neustart zeigt NetScaler an, dass die Funktion verfügbar, aber deaktiviert ist.

    > shell sysctl -a | grep smt_handling
    netscaler.smt_handling_platform: 1
    netscaler.smt_handling: 0
    netscaler.smt_handling_active: 0
    <!--NeedCopy-->
    

Problembehandlung

Führen Sie den Shell-Befehl sysctl aus, um den Status der SMT-Funktion zu überprüfen.

```
> shell sysctl -a | grep smt_handling
>
<!--NeedCopy--> ```

Der Befehl kann jede der folgenden Ausgaben zurückgeben.

  • Die SMT-Funktion fehlt.

    Der Befehl sysctl gibt keine Ausgabe zurück.

  • Die SMT-Funktion wird nicht unterstützt.

    Die SMT-Funktion wird aus einem der folgenden Gründe nicht unterstützt:

    • Ihr NetScaler VPX ist älter als 13.1-48.x oder 14.1-12.x.
    • Ihre Cloud unterstützt SMT nicht.
    • Ihr VM-Instanztyp unterstützt SMT nicht. Beispielsweise ist die Anzahl der vCPUs höher als 8.

       > shell sysctl -a | grep smt_handling
       netscaler.smt_handling_platform: 0(indicates not supported)
       netscaler.smt_handling: 0 (indicates not enabled)
       netscaler.smt_handling_active: 0 (indicates not active)
       <!--NeedCopy-->
      
  • Die SMT-Funktion wird unterstützt, aber nicht aktiviert.

       > shell sysctl -a | grep smt_handling
       netscaler.smt_handling_platform: 1 (available)
       netscaler.smt_handling: 0         (not enabled)
       netscaler.smt_handling_active: 0  (not active)
       <!--NeedCopy-->
    
Gleichzeitiges Multithreading für NetScaler VPX in öffentlichen Clouds konfigurieren