介绍
根据iperf3官方介绍,iperf3是一款用于主动测试一段ip网络上最大可实现带宽的工具,使用了C/S架构,支持TCP和UDP
程序可以跨平台(Windows、Linux、Android、MacOS X、FreeBSD、OpenBSD、NetBSD、VxWorks、Solaris等)使用,主流和非主流系统基本都涵盖了,可以根据自己使用的平台去对应网站下载
注意,与iperf2不同,iperf3在同一时间只允许有一个连接
使用说明
这里将介绍iperf3命令常用参数
服务端
最简单地,只需要在服务端机器上执行:
iperf3 -s
这样就启动了iperf3
服务,默认监听在5201
端口,可以通过设置-p
参数来指定监听端口,例如:
iperf3 -s -p 5432
表示监听在5342
端口
客户端
客户端需要连接服务器,并可以指定测量链路带宽的一些参数
最简单地,只需要在客户端机器上执行:
iperf3 -c [SERVER_IP]
这样就默认测试客户端单线程下10s
内的上行带宽,输出将显示每1
秒的传输速度和10s
的平均速度。注意,iperf3
默认使用上传模式(Client sends, Server receives)
然而单线程有些时候不能测试链路的极限传输带宽,为了尽可能准确地测试最大传输速率,可以采用多线程的方式
下面将介绍常用参数:
-t [num] 设置传输测试时间,默认为10s
-P [num] 设置并发连接数(线程数),默认为1
-R 转换模式(Reverse Mode),改为下载模式,(Server sends, Client receives),通常更多使用下载模式
--bidir 双向模式(Bidirectional Mode),也就是服务器和客户端既要发送数据也要接收数据
-i [num] 设置每次显示报告的时间间隔,例如,设置为2代表每隔2s显示这2s的测试报告,默认为1
-u 使用UDP协议,默认为TCP
-b [num] 设置目标传输带宽,(默认情况下,UDP为1 Mbit/s,TCP为无限),例如 -b 10M 表示设置带宽为 10 Mbps
-4 仅使用IPv4
-6 仅使用IPv6
大多场景下,主要使用TCP
测速,例如:
- 设置
5
个并发连接,测试客户端到服务器1.2.3.4
在10s
内的下行带宽
iperf3 -c 1.2.3.4 -t 10 -P 5 -R
- 设置
5+5
个并发连接(5个发送数据,5个接收数据),测试客户端到服务器1.2.3.4
在10s
内的上下行各自占用的带宽
iperf3 -c 1.2.3.4 -t 10 -P 5 --bidir
iperf3公共服务器
目前官网还提供了一些公共iperf3
服务器供大家使用,但都在国外
这里就只放两个美国示例:
Americas | |||||||
---|---|---|---|---|---|---|---|
iPerf3 server | Localization | Data center | Hosting | Speed | Port | IP version | Contact |
iperf.scottlinux.com | USA California |
Hurricane Fremont 2 |
1 Gbit/s | 5201 TCP/UDP | IPv4 and IPv6 | @scottlinux | |
iperf.he.net | USA California |
Hurricane Fremont 1 |
5201 TCP/UDP | IPv4 and IPv6 | HE forums |