NetScaler VPX 14.1

Configurer le multithreading simultané pour NetScaler VPX sur les clouds publics

NetScaler® utilise différents cœurs dédiés pour ses fonctions de gestion et ses fonctions de plan de données. Un cœur est généralement attribué aux fonctions du plan de gestion. Le reste des cœurs disponibles est attribué aux fonctions du plan de données.

L’image suivante présente une illustration simplifiée d’un NetScaler VPX à 4 cœurs.

Figure 1. Charge de travail du plan de gestion et du plan de données NetScaler sur un système à 4 cœurs

NetScaler sans la fonction SMT

Bien que l’image précédente montre la répartition des fonctions NetScaler sur les cœurs disponibles, ce n’est pas nécessairement une représentation exacte du matériel sous-jacent. La plupart des processeurs x86 modernes fournissent deux cœurs logiques par cœur physique, grâce à des fonctionnalités commercialement connues sous le nom d’Intel Hyperthreading (HT) ou d’AMD simultaneous multithreading (SMT).

L’image suivante montre NetScaler VPX exécuté sur un processeur moderne avec SMT désactivé. Chaque cœur de CPU est divisé en deux ou plusieurs CPU logiques, communément appelés threads. Chaque thread possède son propre ensemble de ressources répliquées, une partie des ressources partitionnées, et est en concurrence pour les ressources partagées avec ses threads frères.

Figure 2. Charge de travail du plan de gestion et du plan de données NetScaler sur un système à 4 cœurs/8 threads avec SMT désactivé

NetScaler avec la fonction SMT désactivée

L’image suivante montre NetScaler VPX exécuté sur un processeur moderne avec SMT activé.

Figure 3. Charge de travail du plan de gestion et du plan de données NetScaler sur un système à 4 cœurs avec SMT activé

NetScaler avec la fonction SMT activée

L’activation du SMT améliore les performances de NetScaler en :

  • Exécutant les fonctions du plan de données sur tous les cœurs physiques.
  • Déplaçant les fonctions du plan de gestion vers le thread frère.
  • Introduction d’un mécanisme flexible de limitation des ressources pour empêcher les fonctions du plan de gestion de compromettre les performances des fonctions du plan de données.

Matrice de prise en charge SMT

Les plateformes VPX, les types d’instances cloud et les versions de NetScaler qui prennent en charge SMT sont répertoriés dans le tableau suivant.

Plateforme VPX Types d’instances Version de NetScaler VPX
AWS M5, m5n, c5, c5n 14.1-12.x et versions ultérieures
Azure Toute famille d’instances avec hyperthreading, par exemple, Ds_v4 14.1-12.x et versions ultérieures
GCP e2-instances 14.1-12.x et versions ultérieures

Remarque :

En activant la fonctionnalité SMT, les performances de NetScaler VPX sont améliorées sur les types pris en charge.

Limitations

La fonctionnalité SMT double efficacement le nombre de vCPU disponibles pour une appliance NetScaler. Les limites de licence doivent être prises en compte pour permettre à l’appliance NetScaler de les utiliser.

Par exemple, considérons NetScaler VPX illustré à la Figure 3. Si une licence basée sur le débit est utilisée, une licence de 10 Gbit/s ou plus est requise avec la fonctionnalité SMT pour activer 8 vCPU. Auparavant, une licence de 1 Gbit/s était suffisante pour activer 4 vCPU. Si une licence vCPU est utilisée, NetScaler VPX doit être configuré pour extraire des licences pour le double du nombre de vCPU pour un fonctionnement correct. Contactez le support technique de NetScaler pour obtenir des conseils supplémentaires sur ce sujet.

Configurer SMT

Avant d’activer la fonctionnalité SMT, assurez-vous que votre plateforme prend en charge cette fonctionnalité. Consultez le tableau de la matrice de support dans la section précédente.

Pour activer la fonctionnalité SMT, suivez ces étapes :

  1. Créez un fichier vide nommé .smt_handling dans le répertoire « /nsconfig ».
  2. Enregistrez la configuration actuelle.
  3. Redémarrez l’instance NetScaler VPX.

    nscli> shell touch /nsconfig/.smt_handling
      Done
    nscli> reboot
    Are you sure you want to restart NetScaler (Y/N)? [N]:Y
    Done
    <!--NeedCopy-->
    
  4. Après le redémarrage, NetScaler indique que la fonctionnalité est à la fois disponible et activée.

    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-->
    

Pour désactiver la fonctionnalité SMT, suivez ces étapes :

  1. Supprimez le fichier .smt_handling.
  2. Redémarrez l’instance NetScaler VPX.

    shell rm -f /nsconfig/.smt_handling
      Done
    
    reboot
    
    Are you sure you want to restart NetScaler (Y/N)? [N]:Y
    Done
    <!--NeedCopy-->
    
  3. Après le redémarrage, NetScaler indique que la fonctionnalité est disponible mais désactivée.

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

Dépannage

Exécutez la commande shell sysctl pour vérifier l’état de la fonctionnalité SMT.

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

La commande peut renvoyer l’une des sorties suivantes.

  • La fonctionnalité SMT est manquante.

    La commande sysctl ne renvoie aucune sortie.

  • La fonctionnalité SMT n’est pas prise en charge.

    La fonctionnalité SMT n’est pas prise en charge pour l’une des raisons suivantes :

    • Votre NetScaler VPX est plus ancien que 13.1-48.x ou 14.1-12.x.
    • Votre cloud ne prend pas en charge SMT.
    • Votre type d’instance de VM ne prend pas en charge SMT, par exemple, le nombre de vCPU est supérieur à 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-->
      
  • La fonctionnalité SMT est prise en charge mais pas activée.

       > 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-->
    
Configurer le multithreading simultané pour NetScaler VPX sur les clouds publics