iperf3是一个免费的开源、跨平台基于命令行的程序,用于执行实时网络吞吐量测量。它是测试 IP 网络中最大可实现带宽的强大工具之一(支持IPv4和IPv6)。
使用iperf,您可以调整与时间、缓冲区和协议(如 TCP、UDP、SCTP)相关的多个参数。它对于网络性能调整操作非常有用。
为了获得最大或更佳的网络性能,您需要增加吞吐量以及网络接收和发送能力的延迟。但是,在进行实际调优之前,您需要执行一些测试以收集将指导您的调优过程的整体网络性能统计数据。
其结果包括以秒为单位的时间间隔、传输的数据、带宽(传输速率)、丢失和其他有用的网络性能参数。它主要用于帮助调整特定路径上的 TCP 连接,这是我们将在本指南中关注的内容。
要求:
两台都安装了iperf3的联网服务器。
如何在 Linux 系统中安装 iperf3
在开始使用iperf3之前,需要将它安装在将用于基准测试的两台机器上。由于iperf3在大多数常见Linux 发行版的官方软件存储库中都可用,因此安装它应该很容易,使用如图所示的包管理器。
$ sudo apt install iperf3#Debian/Ubuntu$ sudo yum install iperf3#RHEL/CentOS$ sudo dnf install iperf3#Fedora 22+
在两台机器上安装iperf3后,就可以开始测试网络吞吐量了。
如何测试 Linux 服务器之间的网络吞吐量
首先连接到将用作服务器的远程机器并使用-s标志在服务器模式下启动iperf3 ,默认情况下它将侦听端口5201。
可以使用-f指定要报告的格式(k、m、g表示Kbits、Mbits、Gbits或K、M、G表示KBytes、Mbytes、Gbytes) 。
$ iperf3 -s -f K
如果服务器上的另一个程序正在使用端口5201 ,你可以使用-p指定不同的端口(例如3000) 。
$ iperf3 -s -p 3000
或者,可以将服务器作为守护程序运行,使用
-D
标志并将服务器消息写入日志文件,如下所示。$ iperf3 -s -D > iperf3log
然后将视为客户端的本地机器上(实际的基准测试发生的地方),使用标志在客户端模式下运行iperf3
-c
并指定运行服务器的主机(使用其 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是一个功能强大的工具,可用于运行网络吞吐量测试。
以上文章由惠主机www.idccoupon.com编辑整理发布,请勿转载。
4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有