感谢您提供反馈

这篇文章已经过机器翻译.放弃

在不支持 DPDK 的情况下在专用模式下为 NetScaler BLX 配置 nsdrvd 驱动程序

NetScaler BLX 绕过了 Linux 内核的网络堆栈,但是在 Linux 内核内存和用户空间内存之间传输数据包会产生开销。这种开销会影响数据包处理的整体性能。

我们建议使用兼容 DPDK 的 NIC 来提高数据包处理性能。有关 BLX 支持的 DPDK 兼容 NIC 的列表,请参阅 Linux 主机的硬件要求

如果您没有兼容 DPDK 的 NIC,则可以在不支持 DPDK 的情况下使用 nsdrvd 驱动程序来提高数据包处理的性能。

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 - BLX 的工作进程(数据包引擎)的数量。blx.conf 文件中的 worker-processes 参数指定 BLX 的数据包引擎的数量。
  • INT - BLX 专用 Linux 主机 NIC 端口的数量。blx.conf 文件中的 interface 参数指定了专用于 BLX 的 Linux 主机 NIC 端口。
  • P - BLX 的 nsdrvd 驱动程序进程数。blx.conf 文件中的 nsdrvd 参数指定 nsdrvd 驱动程序进程的数量。

示例:采用以下配置的 BLX 必须至少有 10 个内核:

  • WP = 3 个数据包引擎
  • INT = 2 个专用接口
  • P = 3 个 nsdrvd 进程

n = WP + (INT*P) + 1 = (3+2*3+1) = 10

必备条件

启用 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. 重启 BLX。

    systemctl restart blx

BLX 重新启动后,在 BLX 上启用 nsdrvd 驱动程序。

禁用 nsdrvd 驱动程序

必须使用 Linux 主机 CLI 来禁用 nsdrvd 驱动程序。

  1. 要禁用 nsdrvd 驱动程序,请注释 blx.conf 文件中的 nsdrvd参数。

    blx-system-config { ... # nsdrvd: 2 ... }
  2. 重启 BLX。

    systemctl restart blx

BLX 重新启动后,nsdrvd 驱动程序在 BLX 上被禁用。

本内容的正式版本为英文版。部分 Cloud Software Group 文档内容采用了机器翻译,仅供您参考。Cloud Software Group 无法控制机器翻译的内容,这些内容可能包含错误、不准确或不合适的语言。对于从英文原文翻译成任何其他语言的内容的准确性、可靠性、适用性或正确性,或者您的 Cloud Software Group 产品或服务沿用了任何机器翻译的内容,我们均不作任何明示或暗示的保证,并且适用的最终用户许可协议或服务条款或者与 Cloud Software Group 签订的任何其他协议(产品或服务与已进行机器翻译的任何文档保持一致)下的任何保证均不适用。对于因使用机器翻译的内容而引起的任何损害或问题,Cloud Software Group 不承担任何责任。
在不支持 DPDK 的情况下在专用模式下为 NetScaler BLX 配置 nsdrvd 驱动程序