iperf3
是一个网络性能测试工具。iperf可以测试TCP和UDP带宽质量。iperf可以测量最大TCP带宽,具有多种参数和UDP特性。iperf可以报告带宽,延迟抖动和数据包丢失。
iperf3是一种用于主动测量IP网络上可实现的最大带宽
的工具。
它支持调整与时序、缓冲区和协议(TCP、UDP、带有 IPv4 和 IPv6 的 SCTP)相关的各种参数。对于每次测试,它都会报告带宽、损耗和其他参数 。这是一个新的实现,它不与原始iperf共享代码,也不向后兼容。
测试方法:
服务器端挂起 iperf3 -s
服务
客户端测试命令 iperf3 -c 服务器IP地址
分析网络带宽、网络延时,判断网络整体性能
CentOS7 服务器命令:iperf3 -s
Windows10 客户端:iperf3.exe -c 服务器IP地址 -P 10 //客户端10路并行给服务器发送TCP包;
上图可知:带宽是942Mbps,即当前网络是:千兆网络
Windows10:iperf3.exe -u -c 服务器IP地址 -b 1g //客户端给服务器发送udp数据包,最大带宽为1g
上图可知:带宽95Mbps,延时0.677ms,丢包0%
共用参数说明
-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值