在网卡上启用默认队列 RSS 以提高数据包吞吐量。

默认队列接收方调整 (Queue Receive Side Scaling, DRSS) 在多个硬件队列之间分配收到的数据包,从而允许多个硬件队列处理入站流量。DRSS 将流量分配给其他可用的硬件队列,以减少单个队列中的瓶颈。DRSS 旨在处理广播、未知或多播 (BUM) 流量。

在启用了 DRSS 的情况下,将在所选的物理网卡端口上启用多个硬件队列。每个队列从非一致内存访问 (Non-Uniform Memory Access, NUMA) 节点中分配一个本地逻辑内核。在入站数据包(多播、未知或广播)到达物理网卡端口时,将在多个硬件队列之间对数据包进行负载均衡,具体取决于逻辑内核可用性。该功能提高了物理网卡的数据包吞吐量。

例如,假设物理网卡具有两个端口。您希望分配多个硬件队列以高效地管理接收方 (Rx) 流量。可以在 ESXi 系统参数命令中传递 DRSS=4,0 值以完成该操作。该参数为第一个物理网卡端口启用 DRSS。

前提条件

  • 确保网卡支持默认队列接收方调整。

过程

  1. 安装 i40en ENS 驱动程序网卡驱动程序。
  2. 如果网卡具有两个端口,请运行以下命令以在物理网卡的第一个端口上启用 RSS。
    esxcli system module parameters set -m -i40en_ens -p DRSS=4,0

    其中,在第一个端口上为 4 个 Rx 队列启用 DRSS,并且没有为 Tx 队列启用 DRSS。

    分配的 DRSS 队列数量取决于主机上的可用物理 CPU 数量。
    注: 根据网卡的版本,可能会默认启用或禁用 DRSS。
  3. 如果正在使用网卡绑定,则两个网卡端口的配置必须相同。

    esxcli system module parameters set -m -i40en_ens -p DRSS=4,4

  4. 卸载网卡驱动程序以使模块参数生效。
  5. 加载网卡驱动程序。

后续步骤

配置多上下文,以便增强型网络栈可以提高 vNIC 队列的数据包吞吐量。