iperf3 - 网络带宽测试工具

一款好用的本地或服务器测速的工具

介绍


根据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.410s内的下行带宽
iperf3 -c 1.2.3.4 -t 10 -P 5 -R
  • 设置5+5个并发连接(5个发送数据,5个接收数据),测试客户端到服务器1.2.3.410s内的上下行各自占用的带宽
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
scottlinux.com 1 Gbit/s 5201 TCP/UDP IPv4 and IPv6 @scottlinux
iperf.he.net USA
California
Hurricane
Fremont 1
he.net 5201 TCP/UDP IPv4 and IPv6 HE forums
发表了43篇文章 · 总计78.96k字
·
Built with Hugo
主题 StackJimmy 设计