ADC

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 de plan de données. Un cœur est généralement affecté aux fonctions du plan de gestion. Les autres cœurs disponibles sont affectés aux fonctions du plan de données.

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

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

NetScaler sans fonctionnalité SMT

Bien que l’image précédente montre la distribution des fonctions NetScaler sur les cœurs disponibles, il ne s’agit pas nécessairement d’une représentation précise 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 de multithreading simultané (SMT) d’AMD.

L’image suivante montre NetScaler VPX s’exécutant sur un processeur moderne avec SMT désactivé. Chaque cœur de processeur est divisé en deux ou plusieurs processeurs 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 avec ses fils frères pour les ressources partagées.

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

NetScaler avec fonctionnalité SMT désactivée

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

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

NetScaler avec fonctionnalité SMT activée

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

  • Exécution des fonctions du plan de données sur tous les cœurs physiques.
  • Déplacer 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 support SMT

Les plates-formes VPX, les types d’instances cloud et les versions de NetScaler qui prennent en charge le 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 instances e2 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.

Prenons l’exemple de 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 fonction 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 correspondant au double du nombre de vCPU pour un fonctionnement correct. Contactez le support technique de NetScaler pour obtenir de plus amples informations à ce sujet.

Configurer SMT

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

Pour activer la fonction SMT, procédez comme suit :

  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 fonction SMT, procédez comme suit :

  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 n’importe laquelle des sorties suivantes.

  • La fonction SMT est absente.

    La commande sysctl ne renvoie aucune sortie.

  • La fonction 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 antérieur à 13.1-48.x ou 14.1-12.x.
    • Votre cloud ne prend pas en charge le SMT.
    • Le type d’instance de votre machine virtuelle ne prend pas en charge le SMT. Par exemple, le nombre de processeurs virtuels 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 elle n’est 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