在 Linux 系统中,测量网速是一个运维和测试网络性能的重要实践。正确了解网络速率可以帮助诊断网络瓶颈、优化带宽利用率以及调试网络连接问题。其中,iperf3 是一个强大的工具,用于进行实时的网络吞吐量测试。本文将详细介绍如何使用 iperf3 测试 Linux 服务器的网络速度。

安装 iperf3

在大多数 Linux 发行版中,iperf3 都可以通过包管理器轻松安装。以下是不同发行版安装 iperf3 的命令:

# Debian、Ubuntu 和 Mint
sudo apt install iperf3

# RHEL、CentOS、Fedora、Rocky/AlmaLinux
sudo yum install iperf3

# Arch Linux
sudo pacman -S iperf3

# Alpine Linux
sudo apk add iperf3

# OpenSUSE
sudo zypper install iperf3

确保两台需要进行测试的机器都安装了 iperf3。

启动 iperf3 服务器

在测试中,一台机器将作为服务器,另一台机器作为客户端。首先,在服务器端启动 iperf3 监听端口 5201(默认端口)。执行以下命令:

# 作为服务器运行
iperf3 -s

执行后,iperf3 服务器会开始监听连接。如果端口 5201 被占用,可通过 -p 参数指定其他端口,例如端口 3000:

iperf3 -s -p 5201

你还可以通过 -D 开启守护模式运行,并将日志写入文件:

iperf3 -s -D > iperf3.log

在客户端运行测试

在客户端上,指定目标服务器(IP 或主机名)并运行测试。例如,服务器的 IP 地址为 192.168.1.8

iperf3 -c 192.168.1.8

执行大约 10-20 秒后,客户端会输出测试结果,包含带宽、延迟、抖动等信息:

Connecting to host 192.168.1.8, port 5201
[  5] local 192.168.1.14 port 49610 connected to 192.168.1.8 port 5201
[ ID] Interval           Transfer     Bandwidth
[  5]  0.00-1.00 sec   284 MBytes   2.38 Gbits/sec

输出中的 Bandwidth 表示网络带宽。

高级测试选项

  • 指定格式:通过 -f 设置显示单位,如 K(KBytes)、M(MBytes)、G(GBytes):

iperf3 -c 192.168.1.8 -f M
  • 调整 TCP 窗口大小:使用 -w 参数优化数据传输性能,例如设置窗口大小为 500 KB:

iperf3 -c 192.168.1.8 -w 32M

  • 反向模式:发送和接收方向相反,使用 -R 参数测试服务器给客户端发送的网速:

iperf3 -c 192.168.1.8 -R
  • 双向测试:同时测试上传和下载速度,使用 -d 参数:

iperf3 -c 192.168.1.8 -d
  • 多线程测试:通过 -P 参数设置并行连接数量,例如 2 个并行流:

iperf3 -c 192.168.1.8 -P 2

通过这些功能,可以满足多种网络性能测试需求。

结果解读与注意事项

  • 1.Bandwidth:表示通道带宽,衡量网速的关键指标。

  • 2.Packet Loss:丢包率过高可能暗示网络拥堵,需要调整链路。

  • 3.Latency and Jitter:这两项是网络稳定性的重要参考。

通过 iperf3 测试网络速度,你可以精准评估两台设备间的网络性能,并深入分析网络传输中的各种参数。无论是解决网络问题,还是优化带宽利用率,对于 Linux 用户,这都是一项必备的技术技能。