Configurar el controlador nsdrvd para NetScaler BLX en modo dedicado sin compatibilidad con DPDK
NetScaler BLX omite la pila de red del kernel de Linux, pero la transferencia de paquetes entre la memoria del kernel de Linux y la memoria del espacio de usuario supone una sobrecarga. Esta sobrecarga afecta al rendimiento general del procesamiento de paquetes.
Recomendamos usar las NIC compatibles con DPDK para obtener un alto rendimiento en el procesamiento de paquetes. Para ver la lista de NIC compatibles con DPDK que admite BLX, consulte los Requisitos de hardware del host Linux.
Si no tiene NIC compatibles con DPDK, puede usar el controlador nsdrvd
para mejorar el rendimiento del procesamiento de paquetes sin compatibilidad con DPDK.
El controlador nsdrvd
es propietario de toda la interacción con el kernel de Linux para la recepción y transmisión de paquetes. También distribuye el tráfico a los PE. Puede configurar el controlador nsdrvd
mediante el parámetro nsdrvd
del archivo blx.conf
. En la tabla siguiente se explican los valores posibles del parámetro nsdrvd
.
Valor posible | Descripción |
---|---|
nsdrvd: 1 |
Se crea un proceso de controlador para cada puerto dedicado. Rx y Tx ocurren secuencialmente. |
nsdrvd: 2 |
Se crean un proceso Rx y un subproceso Tx para cada puerto dedicado. |
nsdrvd: 3 |
Se crean un proceso Rx y 2 subprocesos Tx para cada puerto dedicado. |
Para usar el controlador nsdrvd
, el host Linux debe tener al menos n núcleos según el siguiente cálculo.
n >= WP + (INT*P) + 1
Donde:
-
WP: Cantidad de procesos de trabajo (motores de paquetes) para BLX. El parámetro
worker-processes
del archivoblx.conf
especifica la cantidad de motores de paquetes para BLX. -
INT: Cantidad de puertos NIC del host Linux dedicados para BLX. El parámetro
interface
del archivoblx.conf
especifica los puertos NIC del host Linux dedicados a BLX. -
P: Cantidad de procesos de controlador
nsdrvd
para BLX. El parámetronsdrvd
del archivoblx.conf
especifica la cantidad de procesos del controladornsdrvd
.
Ejemplo: BLX con la siguiente configuración debe tener al menos 10 núcleos:
- WP = 3 motores de paquetes
- INT = 2 interfaces dedicadas
-
P = 3 procesos
nsdrvd
n = WP + (INT*P) + 1 = (3+2*3+1) = 10
Requisitos previos
- Asegúrese de que BLX esté configurado en modo dedicado. Para conocer el procedimiento de configuración, consulte Configurar BLX en modo dedicado.
- Asegúrese de que los puertos NIC dedicados no figuren en las NIC compatibles con DPDK que admite BLX. Para obtener más información, consulte Requisitos de hardware del host Linux.
nsdrvd
Habilitar el controlador Debe usar la CLI del host Linux para habilitar el controlador nsdrvd
.
-
Abra el archivo
blx.conf
ejecutando el siguiente comando:Nota:
Puede usar cualquier editor de texto para modificar el archivo blx.conf.
nano /etc/blx/blx.conf <!--NeedCopy-->
-
Descomente el parámetro
nsdrvd
y establezca el valor en 1, 2 o 3.blx-system-config { ... nsdrvd: <number of process> ... } <!--NeedCopy-->
- Guarde el archivo
blx.conf
. -
Reinicie BLX.
systemctl restart blx <!--NeedCopy-->
Una vez reiniciado BLX, el controlador nsdrvd
se habilita en BLX.
nsdrvd
Inhabilitar el controlador Debe usar la CLI del host Linux para inhabilitar el controlador nsdrvd
.
-
Para inhabilitar el controlador
nsdrvd
, comente el parámetronsdrvd
en el archivoblx.conf
.blx-system-config { ... # nsdrvd: 2 ... } <!--NeedCopy-->
-
Reinicie BLX.
systemctl restart blx <!--NeedCopy-->
Una vez reiniciado BLX, el controlador nsdrvd
se inhabilita en BLX.