网站搜索

如何在 Linux 中使用 iPerf3 工具测试网络速度


iperf3 是一款免费的开源、跨平台、基于命令行的程序,用于执行实时网络吞吐量测量。它是测试 IP 网络中可实现的最大带宽的最强大工具之一(支持 IPv4IPv6)。

使用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端口。

您可以指定格式(kmg 表示 KbitsMbitsGbitsKMG 表示 KBytesMbytes , 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

大约 1820 秒后,客户端应终止并生成指示基准测试平均吞吐量的结果,如以下屏幕截图所示。

从基准测试结果来看,如上面的屏幕截图所示,服务器客户端的值存在差异。但是,您应该始终考虑在执行的每次测试中使用从 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 是一个功能强大的工具,可以方便地运行网络吞吐量测试。

您有任何想法要分享或有问题要问,请使用下面的评论表。