新闻中心

ConnectX IRQ 与 RSS 怎么调:队列、CPU 和 NUMA 必须对齐 NEWS DETAIL

资讯分类 · NVIDIA 网络互连 作者 · 中科新远技术编辑部 审核人 · 中科新远 发布时间 · 2026-08-02 更新时间 · 2026-08-02 来源 · NVIDIA 网络性能文档
ConnectX IRQ 与 RSS 怎么调:队列、CPU 和 NUMA 必须对齐
场景示意图,不对应具体设备型号、端口布局或技术拓扑。

高速 ConnectX 网卡上线后,如果所有接收中断集中在少数 CPU,链路带宽可能尚未用满,单核软中断却已经饱和;反过来,把队列和 IRQ 平均撒到全部 CPU,也会破坏 NUMA 局部性,让缓存与跨插槽访问成为新瓶颈。RSS、硬件队列、IRQ affinity、应用线程以及 GPU 或存储设备的位置必须作为同一条数据路径规划。

调优前先记录网卡 PCIe 归属、NUMA 节点、队列数量、IRQ 分布、CPU 隔离策略和应用线程绑定,建立默认状态下的吞吐、包率、软中断、丢包与尾延迟基线。随后按单因素调整队列或亲和性,并在短包、大包、单流、多流和真实业务中复测。任何配置都应能在重启、驱动更新和接口重建后被一致恢复。

从 PCIe 与 NUMA 位置画数据路径

用稳定的 PCI 地址识别目标端口,确认其本地 NUMA CPU,并标出应用、GPU 或存储进程所在节点。优先让高频中断和消费线程靠近数据源,但要为操作系统与控制任务保留 CPU。双口卡或 Socket Direct 形态分别建图,不能把同一张卡的全部端口假设为相同路径。

队列数量服从有效并发

队列太少会形成热点,太多则增加中断、缓存和管理开销。根据应用并发、CPU 核心与流哈希分布逐级测试 combined channel 数,观察每队列包量而非只看总吞吐。单一大流不会因为增加 RSS 队列自然拆开,测试流模型要与业务一致。

IRQ 分布要避开争用核心

检查 irqbalance 是否会覆盖手工策略,明确由系统服务还是配置管理负责亲和性。不要把网卡 IRQ、GPU 提交线程、存储轮询和应用热点全部放在同一组核心。每次变更后读取实际 affinity 与软中断统计,确认配置真正生效。

软件转向不是默认补丁

RPS、RFS、XPS 或 busy polling 可以改变 CPU 处理位置与延迟,但也会增加软件开销。只有硬件队列无法满足流分布或应用需求时才纳入实验,并逐项验证。内核参数、容器 cpuset 和网卡硬件规则相互作用,不能单独抄用调优清单。

生产验收关注尾部与可恢复性

运行目标包型、连接数和并发业务,记录 P95/P99、每核软中断、队列丢弃、重传、CPU 利用和吞吐。演练接口重置、驱动重载与节点重启,确认队列和 affinity 自动恢复。内核或驱动升级后重新对比默认值,避免旧脚本写入不存在的 IRQ。

实施前的验证序列

  1. 记录端口 PCI 地址、NUMA、CPU 集合和应用线程位置。
  2. 按真实流并发扫描硬件队列与 RSS 分布。
  3. 明确 irqbalance 与手工亲和性的唯一责任方。
  4. 单独验证 RPS/RFS/XPS 等软件路径的收益和开销。
  5. 完成短包、大包、尾延迟、重启与升级后恢复测试。

适用版本与技术边界

NVIDIA 网络文档提供 Linux 网络性能调优、IRQ、队列和相关工具的配置说明。

可用参数、默认行为与工具名称会随网卡、驱动、内核和发行版变化,必须对目标组合核对。

文中机制与配置边界依据NVIDIA 网络性能文档的当前版本核对;官方说明用于确定候选条件,实际部署仍需结合完整料号、服务器支持清单、软件组合与现场测试。

项目实施中的能力边界

中科新远是 NVIDIA Networking Elite 合作伙伴。中科新远可结合 ConnectX 适配器、服务器 PCIe/NUMA 与 GPU 数据路径协助建立队列和中断基线,并把操作系统配置纳入交付验收。具体合作范围和项目交付内容以当前有效资质、官方目录及书面确认结果为准。

把每个 IRQ 分配到不同 CPU,是否就是最佳配置?

不是。还要考虑 NUMA、应用线程、流哈希、CPU 隔离和其他设备争用;平均分布可能增加跨插槽访问并放大尾延迟。

部署对象与产品组合