iperf3是个跨平台的网络性能测试工具,可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以报告带宽延迟抖动和数据包丢失。iperf3为C/S架构模式,测试时要同时在服务端与客户端都各执行一个程序,让它们互相传送报文进行测试
下载https://iperf.fr/iperf-download.php
windows下载解压后将2个文件放入C:\Windows\System32中
服务端命令
BASIC
iperf3 -s
缺省参数下端口为5201,日志显示接收了来自本地源端口55440的测试请求。客户端进行了10秒测试,并显示了每秒传输的带宽信息,测试结束后会汇总发送和接收的统计信息,在客户端关闭连接后,会继续侦听5201端口
客户端命令iperf -c 服务端IP
BASIC
iperf3 -c 127.0.0.1
缺省参数下客户端将连接服务端的5201端口,持续向服务端发送数据,并统计出每秒传输的字节数、带宽、出现报文重传的次数、拥塞窗口大小,整个测试将持续10秒钟;最后将汇总平均数据并给出发送和接收端的统计
常用参数
BASIC
服务端
-s 表示服务端
-p 定义端口号
-i 设置每次报告之间的时间间隔,单位为秒,如果设置为非零值,就会按照此时间间隔输出测试报告,默认值为零
客户端
-c 表示服务器的IP地址
-p 表示服务器的端口号
-t 参数可以指定传输测试的持续时间,Iperf在指定的时间内,重复的发送指定长度的数据包,默认是10秒钟
-i 设置每次报告之间的时间间隔,单位为秒,如果设置为非零值,就会按照此时间间隔输出测试报告,默认值为零
-w 设置套接字缓冲区为指定大小,对于TCP方式,此设置为TCP窗口大小,对于UDP方式,此设置为接受UDP数据包的缓冲区大小,限制可以接受数据包的最大值
-J 来输出JSON格式测试结果
-R 反向传输,缺省iperf3使用上传模式:客户端负责发送数据,服务端负责接收;如果需要测试下载速度,则在客户端使用-R参数即可
--logfile 参数可以将输出的测试结果储存至文件中
常用命令
BASIC
iperf3 -s -p 12345 -i 1
iperf3 -c 127.0.0.1 -p 12345 -i 1 -t 20 -w 100k
ESXi6.5下使用iperf3
Bash
find / -name *iperf*
cp /usr/lib/vmware/vsan/bin/iperf3 /usr/lib/vmware/vsan/bin/iperf3.copy
esxcli network firewall get
esxcli network firewall set --enabled false
/usr/lib/vmware/vsan/bin/iperf3.copy -s -B 192.168.1.7