perftest通过ib_write_bw压测网卡看不到流量
为什么 ibv_post_send() 流量可以在物理网卡上看到,ib_write_bw 测试时却看不到?

首先,上图查看的是以太网接口的流量,是通过ethtool查看以太网口ethX的计数器
两种方式下,查看网卡带宽有区别,核心原因是:工作层级不同,包封装不同,工具行为不同!RDMA 流量是 Bypass 内核网络栈的,直接 DMA 到网卡,不走 TCP/IP,不经过 ethX 计数器!



watch -n 1 cat /sys/class/infiniband/mlx5_0/ports/1/counters/port_xmit_data
watch -n 1 cat /sys/class/infiniband/mlx5_0/ports/1/counters/port_rcv_data
小结:
- 查物理网卡流量要用专门工具:
- perfquery(Infiniband 专用,查物理端口性能计数器)
- ibstat / ibportstate
- RDMA namespace 下的工具,如:
cat /sys/class/infiniband/mlx5_0/ports/1/counters/port_xmit_data
cat /sys/class/infiniband/mlx5_0/ports/1/counters/port_rcv_data
- 自己调用ibv_post_send,都是走的RoCE(在以太网上跑 RDMA),无论v1还是v2,都会增加ethX 计数器,就可以通过以太网工具,查 ethtool -S <接口名> 看 tx_packets, rx_packets 等;

浙公网安备 33010602011771号