
RDMA 链路能建立只证明基本连接成立,不代表数据路径已经达到目标性能。排查应从最底层开始,逐层收集证据,避免同时修改多个参数。先确认物理链路和主机路径,再进入 RDMA 与业务软件。
第一步:确认链路速率和错误计数
检查两端协商速率、链路宽度、FEC、模块或线缆状态、温度以及 CRC、符号错误和不可纠错计数。测试前后分别采集计数器,判断错误是否持续增长。链路“Up”但存在物理错误时,应先处理介质和端口。
第二步:检查 PCIe 与 NUMA
确认网卡实际运行的 PCIe 代际和宽度,并查看是否发生降速。记录网卡、GPU、CPU 和内存的 NUMA 位置,让测试进程和内存尽量靠近目标设备。跨 CPU 访问可能增加时延并限制吞吐,尤其在双路服务器中更明显。
第三步:核对软件和网络参数
- 操作系统、内核、网卡驱动和固件是否属于支持组合。
- RoCE 模式、GID、MTU、VLAN 和优先级映射是否一致。
- 交换机端口、PFC、ECN 和拥塞控制是否按设计生效。
- 防火墙、路由和容器网络是否改变了预期路径。
第四步:让测试方法可比较
固定测试工具版本、消息大小、队列深度、并发数、双向或单向模式、CPU 绑定和持续时间。先做单端口基线,再增加并发和节点。不要把不同参数的峰值放在同一张对比表中,也不要只截取启动阶段结果。
最后进入 NCCL 或业务层
底层 RDMA 基线正常后,再检查 NCCL 选择的网卡、拓扑和传输路径。若业务仍慢,应继续查看数据加载、GPU 同步、存储和应用并行策略。按层记录正常与异常分界,可以显著缩小故障范围。
WeChat
Profile