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