Configurer le pilote nsdrvd pour NetScaler BLX en mode dédié sans prise en charge DPDK
Bien que NetScaler BLX contourne la pile réseau du noyau Linux, le transfert de paquets entre la mémoire du noyau Linux et la mémoire de l’espace utilisateur présente une surcharge. Cette charge affecte les performances globales du traitement des paquets.
Nous vous recommandons d’utiliser les cartes d’interface réseau compatibles DPDK pour des performances de traitement de paquets supérieures. Pour obtenir la liste des cartes d’interface réseau compatibles DPDK et prises en charge par BLX, consultez la section configuration matérielle requise de l’hôte Linux.
Si vous ne disposez pas de carte d’interface réseau compatible DPDK, vous pouvez utiliser le pilote nsdrvd pour améliorer les performances de traitement des paquets sans prise en charge DPDK.
Le pilote nsdrvd possède toutes les interactions avec le noyau Linux pour la réception et la transmission des paquets. Il distribue également le trafic aux PE. Vous pouvez configurer le pilote nsdrvd à l’aide du paramètre nsdrvd du fichier blx.conf. Le tableau suivant explique les valeurs possibles du paramètre nsdrvd.
| Valeur possible | Description |
|---|---|
nsdrvd: 1 |
Un processus pilote est créé pour chaque port dédié. Rx et Tx se produisent séquentiellement. |
nsdrvd: 2 |
Un processus Rx et un thread Tx sont créés pour chaque port dédié. |
nsdrvd: 3 |
Un processus Rx et deux threads Tx sont créés pour chaque port dédié. |
Pour utiliser le pilote nsdrvd, l’hôte Linux doit disposer d’au moins n cœurs selon le calcul suivant.
n >= WP + (INT*P) + 1
Où :
-
WP - Nombre de processus de travail (moteurs de paquets) pour BLX. Le paramètre
worker-processesdu fichierblx.confindique le nombre de moteurs de paquets pour BLX. -
INT : nombre de ports NIC hôtes Linux dédiés pour BLX. Le paramètre
interfacedu fichierblx.confspécifie les ports de carte d’interface réseau hôte Linux dédiés à BLX. -
P - Nombre de processus de pilote
nsdrvdpour BLX. Le paramètrensdrvddu fichierblx.confindique le nombre de processus de pilotensdrvd.
Exemple : l’instance BLX avec la configuration suivante doit avoir au moins 10 cœurs :
- WP = 3 moteurs de paquets
- INT = 2 interfaces dédiées
-
P = 3 processus
nsdrvd
n = WP + (INT*P) + 1 = (3+2*3+1) = 10
Logiciels requis
- Assurez-vous que BLX est configuré en mode dédié. Pour la procédure de configuration, consultez Configurer BLX en mode dédié.
- Assurez-vous que les ports de carte d’interface réseau dédiés ne figurent pas dans la liste ports NIC compatibles DPDK et pris en charge par BLX. Pour plus d’informations, consultez la section Configuration matérielle requise de l’hôte Linux.
Activer le pilote nsdrvd
Vous devez utiliser l’interface de ligne de commande de l’hôte Linux pour activer le pilote nsdrvd.
-
Ouvrez le fichier
blx.confen exécutant la commande suivante :Remarque :
Vous pouvez utiliser n’importe quel éditeur de texte pour modifier le fichier blx.conf.
nano /etc/blx/blx.conf <!--NeedCopy--> -
Supprimez la marque de commentaire du paramètre
nsdrvdet définissez la valeur sur 1, 2 ou 3.blx-system-config { ... nsdrvd: <number of process> ... } <!--NeedCopy--> - Enregistrez le fichier
blx.conf. -
Redémarrez BLX.
systemctl restart blx <!--NeedCopy-->
Après le redémarrage de BLX, le pilote nsdrvd est activé sur l’instance BLX.
Désactiver le pilote nsdrvd
Vous devez utiliser l’interface de ligne de commande de l’hôte Linux pour désactiver le pilote nsdrvd.
-
Pour désactiver le pilote
nsdrvd, commentez le paramètrensdrvddans le fichierblx.conf.blx-system-config { ... # nsdrvd: 2 ... } <!--NeedCopy--> -
Redémarrez BLX.
systemctl restart blx <!--NeedCopy-->
Après le redémarrage de BLX, le pilote nsdrvd est désactivé sur l’instance BLX.