PFC、ECN、DCQCN 怎么配:RoCE 网络调优的端到端方法
从 RoCE 拥塞原因出发,说明优先级、PFC、ECN、DCQCN、缓冲、MTU 和遥测的端到端配置与验收方法。

RoCE 调优不是打开 PFC 就结束。PFC 用于在特定优先级出现缓冲压力时暂停上游,ECN 用标记提前反馈拥塞,DCQCN 等算法在主机侧根据反馈调整发送速率。三者需要与优先级映射、交换机缓冲、链路时延和网卡参数共同设计。
错误配置可能把丢包问题变成暂停扩散,表现为吞吐抖动、PFC 风暴或其他业务被阻塞。调优应从拓扑和流量模型开始,通过遥测和压力测试收敛参数。
先确认拥塞产生位置
常见拥塞来自多台服务器同时向一个端点发送、Leaf 上联不足、ECMP 路径集中、存储大流与 RDMA 混合,以及端口速率不对称。应通过端口利用率、队列、ECN 标记、PFC 帧和缓冲水位确定位置。
如果根因是长期超售,单纯调整阈值无法解决容量不足。需要先修正上联比例、路径或作业布局,再讨论拥塞参数。
三个机制分别做什么
| 机制 | 作用 | 配置错误风险 |
|---|---|---|
| PFC | 按优先级暂停上游,减少缓冲溢出 | 暂停传播、死锁、影响范围过大 |
| ECN | 在丢包前标记拥塞 | 阈值过高反馈太晚,过低则频繁降速 |
| DCQCN | 主机根据拥塞反馈调节发送速率 | 主机与交换机参数不匹配导致振荡或恢复慢 |
| QoS/优先级 | 区分 RDMA 与其他流量 | 映射不一致导致无损域失效或误伤业务 |
| 缓冲 | 吸收短时突发 | 依赖缓冲掩盖长期拥塞 |
端到端配置顺序
- 定义 RDMA 使用的 DSCP/PCP 与交换机内部优先级,并验证每一跳映射一致。
- 只对需要的优先级启用 PFC,确定头部空间和阈值,避免全优先级无差别开启。
- 根据端口速率、缓冲和链路时延设置 ECN 标记区间。
- 确认网卡 DCQCN 或相应拥塞控制已启用,并与交换机反馈配合。
- 统一 MTU、路由散列和 QoS,记录交换机及主机模板版本。
网卡和服务器配合
主机侧检查固件、驱动、RDMA 设备、优先级映射和接口统计。多网卡服务器要保证每个接口配置一致,并核对 NUMA 和中断分布。
容器环境需正确传递 RDMA 设备和网络配置。应用未使用预期接口或优先级时,交换机参数再正确也无法形成端到端效果。
测试与验收
先测试无拥塞基线,再构造多对一、多对多和混合流量。记录吞吐、尾部时延、ECN 标记、PFC 帧、队列水位、丢包和网卡重传。调参时每次只改变一组参数,保留前后对比。
验收不能以零 PFC 为唯一目标。短时 PFC 可能是保护机制正常动作,关键是没有持续暂停、死锁、丢包和明显业务抖动,同时 ECN 和主机降速能够在拥塞解除后合理恢复。
风险边界和变更管理
不同交换芯片、网卡固件、端口速率和网络规模的推荐参数可能不同,不能直接复制网络论坛或其他项目模板。参数应以厂商文档为起点,用现场测试校正。
上线后持续监控 PFC、ECN、队列和作业通信效率。扩容、改变上联、升级固件或引入新流量类型,都应触发拥塞控制回归测试。