目录
简介和区别
测试:
带宽、延迟、抖动、数据包丢失率、最大传输单元等统计信息。
不同:
qperf和iperf/netperf一样可以评测两个节点之间的带宽和延时,相比netperf和iperf,支持RDMA是qperf工具的独有特性。(qperf -h 可以看到qpperf有很多测试RDMA的选项)
一、qperf
特点:第一可以支持RDMA测量,第二可进行循环遍历测试。
-
qperf安装
可以直接通过yum源安装。#yun install qperf
同时会安装两个依赖包(libibverbs, librdmacm),是直接和rdma功能相关的,不然无法启动rdma功能。也可以通过,https://pkgs.org/download/qperf 官方网页下载安装。
-
qperf使用
-
服务端节点
直接运行如下,无需任何参数
#qperf
默认开启端口号:19765
通过netstat查看,如下:
#netstat –tunlup
tcp 0 0 0.0.0.0:19765 0.0.0.0:* LISTEN 53755/qperf -
客户端
TCP带宽测试
#qperf 11.165.67.18 tcp_bw
(11.165.67.18:服务端的IP,tcp_bw:本次测试的命名)
TCP延时测试
#qperf 11.165.67.18 tcp_lat 同时测试tcp带宽和延时
#qperf 11.165.67.18 tcp_bw tcp_lat
UDP协议测试同TCP协议测试类似,只需命令参数中将tcp_bw和tcp_lat改成udp_bw和udp_lat即可。
指定测试运行时间(使用-t参数)来实现
测试10秒tcp带宽:
#qperf 11.165.67.18 -t 10 tcp_bw
循环loop遍历测试 (递增测试)
在做网卡性能摸底测试的时候,很多时候需要得到网卡的带宽和延时性能曲线。通过qperf提供的循环loop测试,可以一个命令得到所有数据。循环多次测试,每次改变消息大小
例如从16K增加到64K,每次大小翻倍直到64K。
#qperf 11.165.67.18 -oo msg_size:1:64K:*2 -vu tcp_bw tcp_lat
tcp_bw:
bw = 3.06 MB/sec
msg_size = 1 bytes
tcp_bw:
bw = 6.15 MB/sec
msg_size = 2 bytes
tcp_bw:
bw = 12 MB/sec
……
可以最后将测试数据图形化。得到msg_size从1到64K变化的过程中,带宽,延时增长趋势和临界点。这个临界点对于服务器性能评估是很有帮助的。
RDMA测试
如果网卡支持RDMA功能,例如IB卡,那么可以进行RDMA性能测试:
为了使用 RoCE 运行 qperf,应该在客户端添加 -cm1 标志。(mellonx)
#qperf 11.165.67.18 ud_bw
服务端:
qperf
客户端
qperf -cm1 172.17.31.51 rc_lat
qperf -cm1 172.17.31.51 rc_bw
数据包size: -m
qperf -cm1
172.17.31.51 -m 1M rc_bw
数据包数量: -n
qperf -cm1 172.17.31.51 -m 1M -n 1000 rc_bw
polling或者wait event模式:-cp 0 wait 其他poll
qperf -cm1 172.17.31.51 -m 1M -cp 0 rc_bw 或者用-cp1 表示开启p