iperf3是一个免费的开源、跨平台、基于命令行的程序,用于执行实时网络吞吐量测量。它是测试 IP 网络中可实现的最大带宽的最强大工具之一(支持IPv4和IPv6)。
使用iperf,您可以调整与计时、缓冲区和协议(例如 TCP、UDP 和 SCTP)相关的多个参数。它对于网络性能调整操作非常有用。
为了获得最大或更好的网络性能,您需要增加网络接收和发送功能的吞吐量以及延迟。
但是,在进行实际调整之前,您需要执行一些测试来收集总体网络性能统计数据,以指导您的调整过程。
其结果包括以秒为单位的时间间隔、传输的数据、带宽(传输速率)、丢失和其他有用的网络性能参数。它的主要目的是帮助调整特定路径上的 TCP 连接,这也是我们在本指南中重点关注的内容。
要求:
- 两台联网计算机都安装了iperf3。
如何在 Linux 系统中安装 iPerf3
在开始使用iperf3之前,您需要将其安装在用于进行基准测试的两台计算机上。由于iperf3在大多数常见 Linux 发行版的官方软件存储库中都可用,因此安装它应该很容易,使用如图所示的包管理器。
$ sudo apt install iperf3 [在Debian、Ubuntu 和 Mint上] $ sudo yum install iperf3 [在RHEL/CentOS/Fedora和Rocky/AlmaLinux上] $ sudo emerge -a net-misc/iperf [在Gentoo Linux上] $ sudo apk add iperf3 [在Alpine Linux上] $ sudo pacman -S iperf3 [在Arch Linux上] $ sudo zypper install iperf3 [在OpenSUSE上]
在两台机器上安装了iperf3后,您就可以开始测试网络吞吐量。
如何测试两台 Linux 服务器之间的网络速度
首先,连接到将用作服务器的远程计算机,并使用 flag 在服务器模式下启动iperf3 ,默认情况下-s
它将侦听端口5201 。
您可以指定要报告的格式(k、m、g代表Kbits、Mbits、Gbits或K、M、G代表KBytes、Mbytes、Gbytes ),使用-f
switch as shown.
$ iperf3 -s -f K
如果端口5201正被服务器上的另一个程序使用,您可以使用所示的开关指定不同的端口(例如3000)-p
。
$ iperf3 -s -p 3000
或者,您可以使用该标志将服务器作为守护程序运行-D
并将服务器消息写入日志文件,如下所示。
$ iperf3 -s -D > iperf3log
然后,在我们将视为客户端的本地计算机上(进行实际基准测试的地方),使用 flag 在客户端模式下运行iperf3-c
,并指定运行服务器的主机(使用其 IP 地址或域或主机名)。
$ iperf3 -c 192.168.10.1 -f K
大约18到20秒后,客户端应终止并生成指示基准测试平均吞吐量的结果,如以下屏幕截图所示。
![](https://www.alaica.com/wp-content/uploads/linux-171.png)
如何在 Linux 中执行高级网络吞吐量测试
有许多特定于客户的选项可用于执行高级测试,如下所述。
决定给定时间网络中数据量的重要因素之一是 TCP 窗口大小 - 它对于调整 TCP 连接非常重要。您可以使用如图所示的标志来设置窗口大小/套接字缓冲区大小-w
。
$ iperf3 -c 192.168.10.1 -f K -w 500K
要以服务器发送和客户端接收的反向模式运行它,请添加-R
switch.
$ iperf3 -c 192.168.10.1 -f K -w 500K -R
要运行双向测试(即同时测量两个方向的带宽),请使用-d
option.
$ iperf3 -c 192.168.10.1 -f K -w 500K -d
如果您想在客户端输出中获取服务器结果,请使用--get-server-output
option.
$ iperf3 -c 192.168.10.1 -f K -w 500K -R --获取服务器输出
![](https://www.alaica.com/wp-content/uploads/linux-172.png)
还可以使用选项设置同时运行的并行客户端流的数量(本例中为两个)-P
。
$ iperf3 -c 192.168.10.1 -f K -w 500K -P 2
有关更多信息,请参阅 iperf3 手册页。
$ 人 iperf3
就这样!请记住在进行实际的网络性能调整之前始终执行网络性能测试。iperf3是一个功能强大的工具,可以方便地运行网络吞吐量测试。
您有任何想法要分享或有问题要问,请使用下面的评论表。