在不带 DPDK 支持的专用模式下配置 NetScaler BLX 的 nsdrvd 驱动程序
NetScaler BLX 绕过 Linux 内核的网络堆栈,但在 Linux 内核内存和用户空间内存之间传输数据包时存在开销。此开销会影响数据包处理的整体性能。
我们建议使用兼容 DPDK 的网卡以实现高数据包处理性能。有关 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 个核心,具体取决于以下计算。
其中:
-
WP - BLX 的工作进程(数据包引擎)数量。
blx.conf 文件中的 worker-processes 参数指定 BLX 的数据包引擎数量。
-
INT - BLX 的专用 Linux 主机网卡端口数量。
blx.conf 文件中的 interface 参数指定专用于 BLX 的 Linux 主机网卡端口。
-
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 驱动程序。
-
通过运行以下命令打开 blx.conf 文件:
注意:
您可以使用任何文本编辑器编辑 blx.conf 文件。
nano /etc/blx/blx.conf
<!--NeedCopy-->
-
取消注释 nsdrvd 参数并将其值设置为 1、2 或 3。
blx-system-config
{
...
nsdrvd: <number of process>
...
}
<!--NeedCopy-->
- 保存
blx.conf 文件。
-
重新启动 BLX。
systemctl restart blx
<!--NeedCopy-->
BLX 重新启动后,nsdrvd 驱动程序将在 BLX 上启用。
禁用 nsdrvd 驱动程序
您必须使用 Linux 主机 CLI 来禁用 nsdrvd 驱动程序。
-
要禁用 nsdrvd 驱动程序,请注释掉 blx.conf 文件中的 nsdrvd 参数。
blx-system-config
{
...
# nsdrvd: 2
...
}
<!--NeedCopy-->
-
重新启动 BLX。
systemctl restart blx
<!--NeedCopy-->
BLX 重新启动后,nsdrvd 驱动程序将在 BLX 上禁用。
本内容的正式版本为英文版。部分 Cloud Software Group 文档内容采用了机器翻译,仅供您参考。Cloud Software Group 无法控制机器翻译的内容,这些内容可能包含错误、不准确或不合适的语言。对于从英文原文翻译成任何其他语言的内容的准确性、可靠性、适用性或正确性,或者您的 Cloud Software Group 产品或服务沿用了任何机器翻译的内容,我们均不作任何明示或暗示的保证,并且适用的最终用户许可协议或服务条款或者与 Cloud Software Group 签订的任何其他协议(产品或服务与已进行机器翻译的任何文档保持一致)下的任何保证均不适用。对于因使用机器翻译的内容而引起的任何损害或问题,Cloud Software Group 不承担任何责任。
DIESER DIENST KANN ÜBERSETZUNGEN ENTHALTEN, DIE VON GOOGLE BEREITGESTELLT WERDEN. GOOGLE LEHNT JEDE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG IN BEZUG AUF DIE ÜBERSETZUNGEN AB, EINSCHLIESSLICH JEGLICHER GEWÄHRLEISTUNG DER GENAUIGKEIT, ZUVERLÄSSIGKEIT UND JEGLICHER STILLSCHWEIGENDEN GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG VON RECHTEN DRITTER.
CE SERVICE PEUT CONTENIR DES TRADUCTIONS FOURNIES PAR GOOGLE. GOOGLE EXCLUT TOUTE GARANTIE RELATIVE AUX TRADUCTIONS, EXPRESSE OU IMPLICITE, Y COMPRIS TOUTE GARANTIE D'EXACTITUDE, DE FIABILITÉ ET TOUTE GARANTIE IMPLICITE DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON.
ESTE SERVICIO PUEDE CONTENER TRADUCCIONES CON TECNOLOGÍA DE GOOGLE. GOOGLE RENUNCIA A TODAS LAS GARANTÍAS RELACIONADAS CON LAS TRADUCCIONES, TANTO IMPLÍCITAS COMO EXPLÍCITAS, INCLUIDAS LAS GARANTÍAS DE EXACTITUD, FIABILIDAD Y OTRAS GARANTÍAS IMPLÍCITAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN EN PARTICULAR Y AUSENCIA DE INFRACCIÓN DE DERECHOS.
本服务可能包含由 Google 提供技术支持的翻译。Google 对这些翻译内容不做任何明示或暗示的保证,包括对准确性、可靠性的任何保证以及对适销性、特定用途的适用性和非侵权性的任何暗示保证。
このサービスには、Google が提供する翻訳が含まれている可能性があります。Google は翻訳について、明示的か黙示的かを問わず、精度と信頼性に関するあらゆる保証、および商品性、特定目的への適合性、第三者の権利を侵害しないことに関するあらゆる黙示的保証を含め、一切保証しません。
ESTE SERVIÇO PODE CONTER TRADUÇÕES FORNECIDAS PELO GOOGLE. O GOOGLE SE EXIME DE TODAS AS GARANTIAS RELACIONADAS COM AS TRADUÇÕES, EXPRESSAS OU IMPLÍCITAS, INCLUINDO QUALQUER GARANTIA DE PRECISÃO, CONFIABILIDADE E QUALQUER GARANTIA IMPLÍCITA DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO E NÃO INFRAÇÃO.