性能测试工具-qperf

简介

作用:主要用来测试两节点间网络TCP/UDP的带宽和时延

特点(与iperf3的主要区别):

  1. 除支持TCP/IP协议外,还支持更多其他的,如DRAM传输、SDP
  2. 可进行循环遍历测试

主要参数

服务端

–listen_port/-lp: 指定端口号,默认端口号是19765

客户端

OPTIONS参数:

–time/-t:测试持续的时间,默认为2s
–msg_size/-m:设置报文的大小,默认测带宽是为64KB,测延迟是为1B
–verbose/-v:提供更多输出的信息,可以更多尝试一下-vc、-vs、-vt、-vu 等等

TESTS参数:

tcp_bw:TCP流带宽
tcp_lat:TCP流延迟
udp_bw:UDP流带宽
udp_lat:UDP流延迟
conf:显示两端主机配置

使用方法

使用方法简述

一个节点运行qperf作为服务端,另一个节点运行qperf作为客户端,与服务端建立连接之后打流,获取带宽和延迟等数据。

安装方法

方法一:yum安装

CentOS、RHEL、EulerOS等支持yum的操作系统可以直接使用命令yum -y install qperf直接安装

方法二:下载后安装

进入下载页面选择对应操作系统的版本下载后上传到测试节点上使用对应的安装方法即可

rpm安装:rpm -ivh qperf-xxx.rpm –nodeps

deb安装:dpkg -i qperf-xxx.deb

服务端设置

使用默认19765端口并在后台运行: qperf &

使用自定义端口并在后台运行:qperf –listen_port 90 &

查看端口是否监听正常:netstat -ntlp

客户端设置

使用qperf –help tests查看所用支持的参数

命令格式为:qperf SERVERNODE [OPTIONS] [TESTS]

SERVERNODE:作为服务端节点的IP地址

例子: 测试节点减的tcp和udp时延,测试时间是10s

qperf 192.168.x.x -t 10 tcp_lat udp_lat

进阶使用

网卡支持RDMA功能时测试带宽

qperf  192.168.x.x ud_bw

循环 loop 遍历测试

从1bytes开始每次增加2倍直至64K时的tcp带宽和时延

qperf 192.168.x.x -oo msg_size:1:64K:*2 tcp_bw tcp_lat