为不带 DPDK 支持的 NetScaler BLX 配置 nsdrvd 驱动程序

Last published : Oct 06, 2026
NetScaler BLX 绕过 Linux 内核的网络堆栈,但在 Linux 内核内存和用户空间内存之间传输数据包存在开销。此开销会影响数据包处理的整体性能。
我们建议使用与 DPDK 兼容的网卡以获得高数据包处理性能。有关 NetScaler BLX 支持的 DPDK 兼容网卡列表,请参阅 Linux 主机的硬件要求。
如果您没有与 DPDK 兼容的网卡,可以使用 nsdrvd 驱动程序来提高不带 DPDK 支持的数据包处理性能。
nsdrvd 驱动程序负责与 Linux 内核的所有交互,用于数据包的接收和传输。它还将流量分发到 PE。您可以使用 blx.conf 文件中的 nsdrvd 参数配置 nsdrvd 驱动程序。下表解释了 nsdrvd 参数的可能值。
可能的值 描述
nsdrvd: 1 为每个专用端口创建一个驱动程序进程。Rx 和 Tx 顺序发生。
nsdrvd: 2 为每个专用端口创建一个 Rx 进程和一个 Tx 线程。
nsdrvd: 3 为每个专用端口创建一个 Rx 进程和 2 个 Tx 线程。
要使用 nsdrvd 驱动程序,Linux 主机必须根据以下计算至少具有 n 个核心。
n >= WP + (INT*P) + 1
其中:
  • WP - NetScaler BLX 的工作进程(数据包引擎)数量。blx.conf 文件中的 worker-processes 参数指定了 NetScaler BLX 的数据包引擎数量。
  • INT - NetScaler BLX 的专用 Linux 主机 NIC 端口数量。blx.conf 文件中的 interface 参数指定了专用于 NetScaler BLX 的 Linux 主机 NIC 端口。
  • P - NetScaler BLX 的 nsdrvd 驱动程序进程数量。blx.conf 文件中的 nsdrvd 参数指定了 nsdrvd 驱动程序进程的数量。
示例:具有以下配置的 NetScaler BLX 必须至少有 10 个核心:
  • WP = 3 个数据包引擎
  • INT = 2 个专用接口
  • P = 3 个 nsdrvd 进程
n = WP + (INT*P) + 1 = (3+2*3+1) = 10

先决条件

  • 确保专用 NIC 端口未列在 NetScaler BLX 支持的 DPDK 兼容 NIC 中。有关更多信息,请参阅Linux 主机的硬件要求。

启用 nsdrvd 驱动程序

您必须使用 Linux 主机 CLI 启用 nsdrvd 驱动程序。
  1. 通过运行以下命令打开 blx.conf 文件:
    注意:
    您可以使用任何文本编辑器编辑 blx.conf 文件。
    nano /etc/blx/blx.conf
  2. 取消注释 nsdrvd 参数,并将其值设置为 1、2 或 3。
    blx-system-config
    {
            ...
            nsdrvd: <number of process>
            ...
    }
  3. 保存 blx.conf 文件。
  4. 重启 NetScaler BLX。
    systemctl restart blx
NetScaler BLX 重启后,nsdrvd 驱动程序将在 NetScaler BLX 上启用。

禁用 nsdrvd 驱动程序

您必须使用 Linux 主机 CLI 禁用 nsdrvd 驱动程序。
  1. 要禁用 nsdrvd 驱动程序,请注释掉 blx.conf 文件中的 nsdrvd 参数。
    blx-system-config
    {
            ...
            # nsdrvd: 2
            ...
    }
  2. 重启 NetScaler BLX。
    systemctl restart blx
NetScaler BLX 重启后,nsdrvd 驱动程序将在 NetScaler BLX 上禁用。