iperf3下载网址:iPerf - Download iPerf3 and original iPerf pre-compiled binaries
可以用来测试TCP以及UDP带宽质量 通俗来说是用来测试网速的
准备:两台设备
1. 根据自己的设备选择下载工具(两台都要有,这里我用的Windows10 64位台式机)
2. 打开下载好的压缩包
打开一个文件夹,讲压缩包解压到此处,并进入到文件夹目录下,在上方输入cmd+回车进入命令界面
3. 验证是否下载成功,在打开的窗口中输入"iperf3.exe -v",会出现安装的版本,表示安装成功了
4. 开始测试
测试时,一台设备做服务端,一台设备做客户端
服务端输入"iperf3 -s",出现server listening on 5201即说明服务端已运行
客户端输入:"iperf3.exe -c 服务器IP地址 -P 10"//表示客户端10路并行给服务器发送TCP包;
上图可知:带宽是15Gbps(这里不知道为什么下面测试的UDP会比这里TCP慢 按道理UDP不可能比TCP慢的5.)
客户端输入:"iperf3.exe -u -c 服务器IP地址 -b 5g" //客户端给服务器发送udp数据包,最大带宽为5g
上图可知:带宽1.99 Gbps,延时0.003ms,丢包0%
5. iperf3参数
共用参数:
-f [k|m|K|M] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 222.35.11.23 -f K
-i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2
-l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16
-m 显示tcp最大mtu值
-o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o c:\iperflog.txt
-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999
-u 使用udp协议
-w 指定TCP窗口大小,默认是8KB
-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
-C 兼容旧版本(当server端和client端版本不一样时使用)
-M 设定TCP数据包的最大mtu值
-N 设定TCP不延时
-V 传输ipv6数据包
服务器参数说明
-D 以服务方式运行ipserf,eg:iperf -s -D
-R 停止iperf服务,针对-D,eg:iperf -s -R
客户端参数说明
-c //在客户端模式下运行
-u //使用UDP而不是TCP
--sctp //使用 SCTP 而不是 TCP(Linux、FreeBSD 和 Solaris)
-b //UDP模式使用的带宽,单位bits/sec。此选项与-u选项相关。默认值是1 Mbit/sec
-t //设置传输的总时间。Iperf在指定的时间内,重复的发送指定长度的数据包。默认是10秒钟。
-n //要传输的字节数,通常情况,Iperf按照10秒钟发送数据。-n参数跨越此限制,按照指定次数发送指定长度的数据,而不论该操作耗费多少时间。
-k //要传输的块(数据包)数
-i //要读取或写入的缓冲区的长度。TCP 的默认值为 128 KB,UDP 的默认值为 8 KB
-r //分别进行双向测试
-P //大写字母P,要运行的并行客户端流的数量
-d //同时进行双向传输测试
-n //指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000
-r //单独进行双向传输测试
-t //测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5
-F //指定需要传输的文件
-T //指定ttl值