A
Member
多卡推理集群上了 RDMA,性能没提上去,反而出现间歇性丢包和延迟尖刺,问题往往不在网卡本身。
一、先确认是不是 PFC 死锁:RDMA 依赖无损网络,PFC 优先级流控配错是最常见的坑。用交换机侧的 PFC 计数器看有没有持续的 pause 帧,有就说明流控在起作用,先查 PFC 的优先级映射是不是和业务一致。
二、拥塞控制要配对:RoCEv2 的 DCQCN 需要交换机侧开启 ECN 标记,单边配置等于没配。检查交换机端口的 ECN 阈值和端侧的 DCQCN 参数是不是同一套,阈值设得太低会误触发降速。
三、网卡驱动与固件版本:不同厂商的网卡对 PFC/DCQCN 的实现有差异,驱动和固件版本不对称时会出现间歇性丢包。集群扩容时要统一网卡固件版本,别混用。
四、别忽略 MTU:RoCEv2 要求全链路 MTU 一致,中间任何一个环节 MTU 小了,大包就会被静默丢弃。用 ping -M do -s 大包逐段验证,别只看网卡配置。
五、定位工具:用网卡自带的计数器(ethtool -S)看 rx_discards 和 PFC 统计,再结合交换机侧的端口计数器,基本能定位到丢包环节。
你们的 RDMA 集群遇到过 PFC 死锁吗?DCQCN 参数是怎么调的?
一、先确认是不是 PFC 死锁:RDMA 依赖无损网络,PFC 优先级流控配错是最常见的坑。用交换机侧的 PFC 计数器看有没有持续的 pause 帧,有就说明流控在起作用,先查 PFC 的优先级映射是不是和业务一致。
二、拥塞控制要配对:RoCEv2 的 DCQCN 需要交换机侧开启 ECN 标记,单边配置等于没配。检查交换机端口的 ECN 阈值和端侧的 DCQCN 参数是不是同一套,阈值设得太低会误触发降速。
三、网卡驱动与固件版本:不同厂商的网卡对 PFC/DCQCN 的实现有差异,驱动和固件版本不对称时会出现间歇性丢包。集群扩容时要统一网卡固件版本,别混用。
四、别忽略 MTU:RoCEv2 要求全链路 MTU 一致,中间任何一个环节 MTU 小了,大包就会被静默丢弃。用 ping -M do -s 大包逐段验证,别只看网卡配置。
五、定位工具:用网卡自带的计数器(ethtool -S)看 rx_discards 和 PFC 统计,再结合交换机侧的端口计数器,基本能定位到丢包环节。
你们的 RDMA 集群遇到过 PFC 死锁吗?DCQCN 参数是怎么调的?

