ubuntu下使用qperf工具测试RDMA网络带宽和延迟

qperf 可以用来测试两个节点之间的带宽(bandwidth)和延迟(latency),不仅仅可以用来测试 TCP/IP 协议的性能指标,还可以用来测试 RDMA 传输的指标。

测试前需要准备两台装有IB网卡的机器,并且IB网卡驱动已经安装好。

我们首先在两台机器安装qperf工具,可以使用apt或者yum进行安装,安装比较简单,直接在线安装即可。

#centosyum -y install qperf#ubuntuapt install -y qperf

注意,需安装libibverbs和librdmacm库,否则RDMA功能无法启用,使用yum或者apt会自动安装这两个库。

如果需要编译安装,可以在这里下载源码包:https://github.com/linux-rdma/qperf

git clone https://github.com/linux-rdma/qperf.git
cd qperf
./autogen.sh
./configure --prefix=/usr/local/qperf
make -j$(nproc)
make install

然后编译后的binary文件在/usr/local/qperf/bin目录下,我们可以做个软链接到/usr/local/bin/目录下即可。

测试命令行参数有以下选项

-cm1	强制使用 RDMA 连接管理器(RoCE 环境必需)	qperf -cm1 192.168.1.10 rc_bw
-m	设置报文大小(默认带宽测试 64KB,延迟 1B)	-m 1M(测试 1MB 大包性能)
-t	指定测试时长(单位:秒,支持 m/h/d 后缀)	-t 20(20 秒)或 -t 5m(5 分钟)
-n	发送固定数量的消息	-n 1000(发送 1000 个消息后停止)
-cp	选择事件处理模式:
• -cp 0:阻塞等待
• -cp 1:主动轮询	-cp 1(降低延迟,但增加 CPU 占用)
-oo	循环遍历参数(用于性能曲线分析)	-oo msg_size:1K:64K:*2(1K~64K 翻倍测试)
-v	输出详细信息(如 CPU 占用率、本地/远端标识)	-v 或 -vu(结合循环测试)

需要先启动server端,server端没有任何参数

qperf

我们还需要收集下IB网卡RoCE v2协议中绑定的网络接口地址,通过show_gids查询,记录INDEX =3,IPv4这列的IP地址。

show_gids

202507091552571399819035.png

查询到地址以后并记录。

上述server端启动好以后,我们就启动client端进行测试,我们一般测试RC,也就是可靠性链接,包含rc_bw带宽测试,rc_lat延迟测试以及rc_bi_bw双向带宽测试,我们进行相关的测试

测试命令如下:

qperf -cm1 -v xx.xx.xx.xx rc_bw rc_lat rc_bi_bw

测试结果如下:

202507091550151807391031.png

另外还可以测试RDMA网络的读写延迟测试

qperf -cm1 -v xx.xx.xx.xx rc_rdma_read_bw rc_rdma_read_lat rc_rdma_write_bw rc_rdma_write_lat

202507091551599696549206.png

以上就是qperf对RDMA网络进行的相关带宽和延迟测试的方法。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/1080

评论列表

0%