手把手教你用 iperf3 进行专业网络测速

手把手教你用 iperf3 进行专业网络测速

在日常工作和生活中,我们经常会遇到网络卡顿、传输速度慢等问题,此时准确了解网络的实际性能就显得尤为重要。而 iperf3 作为一款强大的网络性能测试工具,能够帮助我们精准测量网络带宽、延迟、丢包率等关键指标。今天,这篇博客就将从工具介绍、安装步骤、测速方法到常见问题解决,全方位带大家掌握用 iperf3 进行网络测速的技能。

一、iperf3 是什么?为什么选择它?

iperf3 是一款开源的网络性能测试工具,主要用于测量 TCP 和 UDP 带宽性能,同时还能提供网络延迟、抖动、丢包率等详细的网络性能数据。它采用客户端 - 服务器(C/S)架构,需要在测试的两端分别运行客户端和服务器程序来完成测速。

选择 iperf3 的原因主要有以下几点:

  1. 功能强大:不仅能测试 TCP 和 UDP 带宽,还能对网络的延迟、抖动、丢包率等进行精准测量,满足不同场景下的测试需求。

  2. 跨平台支持:可在 Windows、Linux、macOS、Android 等多种操作系统上运行,兼容性极强。

  3. 开源免费:源代码公开,用户可以自由使用和修改,无需支付任何费用。

  4. 操作简单:通过简单的命令行指令就能完成复杂的测速任务,上手难度较低。

二、iperf3 安装步骤(多系统适用)

在使用 iperf3 之前,我们需要先在测试的两端设备上安装该工具。下面分别为大家介绍在 Windows、Linux 和 macOS 系统下的安装方法。

(一)Windows 系统安装

  1. 打开浏览器,访问 iperf3 的官方网站(https://iperf.fr/),在页面中找到适合 Windows 系统的安装包,根据电脑的操作系统位数(32 位或 64 位)选择对应的版本进行下载。

  2. 下载完成后,得到一个压缩包。右键点击压缩包,选择 “解压到当前文件夹” 或 “解压到指定文件夹”。

  3. 解压完成后,进入解压后的文件夹,找到 “iperf3.exe” 文件。此时,我们可以通过命令行来运行 iperf3。按下 “Win+R” 组合键,打开 “运行” 窗口,输入 “cmd”,点击 “确定”,打开命令提示符窗口。

  4. 在命令提示符窗口中,通过 “cd” 命令切换到 iperf3.exe 所在的文件夹。例如,如果 iperf3.exe 在 “D:\iperf3” 文件夹中,那么输入 “cd D:\iperf3”,然后按下回车键。

  5. 输入 “iperf3 –version”,如果能显示出 iperf3 的版本信息,说明安装成功。

(二)Linux 系统安装

Linux 系统下安装 iperf3 有多种方法,这里为大家介绍两种常用的方法:通过包管理器安装和源码编译安装。

1. 通过包管理器安装(以 Ubuntu 为例)

  • 打开终端,输入 “sudo apt update”,更新软件包列表。

  • 然后输入 “sudo apt install iperf3 -y”,等待安装完成。

  • 安装完成后,输入 “iperf3 –version”,如果显示版本信息,说明安装成功。

2. 源码编译安装(适用于所有 Linux 发行版)

  • 首先,安装编译所需的依赖包。在终端中输入 “sudo apt install gcc make -y”(Ubuntu 系统)或 “sudo yum install gcc make -y”(CentOS 系统)。

  • 访问 iperf3 的官方网站,下载最新的源码包。在终端中输入 “wget https://downloads.es.net/pub/iperf/iperf-3.16.tar.gz”(以 3.16 版本为例)。

  • 下载完成后,解压源码包:“tar -zxvf iperf-3.16.tar.gz”。

  • 进入解压后的文件夹:“cd iperf-3.16”。

  • 执行配置命令:“./configure”。

  • 配置完成后,进行编译:“make”。

  • 最后,安装 iperf3:“sudo make install”。

  • 安装完成后,输入 “iperf3 –version”,验证安装是否成功。

(三)macOS 系统安装

macOS 系统下安装 iperf3 可以通过 Homebrew 包管理器进行安装,步骤如下:

  1. 如果尚未安装 Homebrew,打开终端,输入以下命令进行安装:“/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)””,按照提示完成安装。

  2. 安装完成后,在终端中输入 “brew install iperf3”,等待安装完成。

  3. 安装完成后,输入 “iperf3 –version”,查看版本信息,确认安装成功。

三、iperf3 测速详细操作步骤

iperf3 采用 C/S 架构,所以在测速时,需要先在一端设备上运行服务器程序,然后在另一端设备上运行客户端程序,通过客户端连接服务器来进行测速。

(一)基础测速(TCP 带宽测试)

1. 启动服务器端

在作为服务器的设备上打开终端或命令提示符窗口,输入以下命令启动 iperf3 服务器:

iperf3 -s

其中,“-s” 表示以服务器模式运行。启动成功后,终端或命令提示符窗口会显示类似以下的信息:

\-----------------------------------------------------------

Server listening on 5201

\-----------------------------------------------------------

这表明服务器已经在 5201 端口(iperf3 的默认端口)上开始监听客户端的连接请求。

2. 启动客户端并连接服务器

在作为客户端的设备上打开终端或命令提示符窗口,输入以下命令连接服务器并进行 TCP 带宽测试:

iperf3 -c \[服务器IP地址]

其中,“-c” 表示以客户端模式运行,“[服务器 IP 地址]” 需要替换为实际的服务器设备的 IP 地址。例如,如果服务器的 IP 地址是 192.168.1.100,那么命令为:

iperf3 -c 192.168.1.100

执行命令后,客户端会连接到服务器,并开始进行 TCP 带宽测试。测试过程中,会实时显示测试进度和相关数据,测试完成后,会输出详细的测试结果,包括平均带宽、延迟、丢包率等信息。

(二)UDP 带宽测试

如果需要测试 UDP 带宽,可以在客户端命令中添加 “-u” 参数,具体命令如下:

iperf3 -c \[服务器IP地址] -u

默认情况下,UDP 测试的带宽为 1Mbps,如果需要指定测试带宽,可以使用 “-b” 参数,例如指定测试带宽为 10Mbps,命令如下:

iperf3 -c \[服务器IP地址] -u -b 10M

(三)指定测试时间

默认情况下,iperf3 的测试时间为 10 秒,如果需要指定测试时间,可以使用 “-t” 参数,单位为秒。例如,指定测试时间为 30 秒,命令如下(客户端命令):

iperf3 -c \[服务器IP地址] -t 30

(四)双向测试

iperf3 还支持双向测试,即同时测试客户端到服务器和服务器到客户端的网络性能。可以在客户端命令中添加 “-d” 参数,具体命令如下:

iperf3 -c \[服务器IP地址] -d

执行该命令后,会同时进行双向的网络性能测试,并分别输出双向测试的结果。

(五)多线程测试

在一些情况下,单线程测试可能无法充分利用网络带宽,此时可以使用多线程测试。在客户端命令中添加 “-P” 参数,并指定线程数量,例如使用 4 个线程进行测试,命令如下:

iperf3 -c \[服务器IP地址] -P 4

四、测试结果解读

iperf3 的测试结果包含丰富的信息,理解这些信息对于判断网络性能至关重要。下面以 TCP 带宽测试结果为例,为大家解读主要的测试指标:

\-----------------------------------------------------------

Client connecting to 192.168.1.100, TCP port 5201

TCP window size:  128 KByte (default)

\-----------------------------------------------------------

\[  4] local 192.168.1.101 port 54321 connected with 192.168.1.100 port 5201

\[ ID] Interval       Transfer     Bandwidth

\[  4]  0.0-10.0 sec  112 MBytes  94.1 Mbits/sec
  • **Client connecting to…**:显示客户端连接的服务器 IP 地址和端口号。

  • TCP window size:TCP 窗口大小,影响数据传输效率。

  • **local… connected with…**:显示客户端和服务器的本地 IP 地址和端口号。

  • Interval:测试时间间隔。

  • Transfer:在该时间间隔内传输的数据量。

  • Bandwidth:该时间间隔内的平均带宽,这是衡量网络传输速度的重要指标。

在 UDP 测试结果中,还会包含延迟(Latency)、抖动(Jitter)和丢包率(Loss)等指标:

  • Latency:数据从客户端发送到服务器再返回客户端的时间,反映网络的延迟情况。

  • Jitter:延迟的变化程度,抖动越小,网络越稳定。

  • Loss:数据传输过程中的丢包比例,丢包率越低,网络质量越好。

五、常见问题及解决办法

(一)客户端无法连接服务器

  1. 检查网络连接:确保客户端和服务器在同一网络中,或者能够通过网络相互访问。可以使用 “ping” 命令测试两者之间的网络连通性,例如在客户端输入 “ping [服务器 IP 地址]”,如果无法 ping 通,说明网络存在问题,需要检查网络配置、路由器设置等。

  2. 检查防火墙设置:防火墙可能会阻止 iperf3 的通信。需要在服务器和客户端的防火墙上开放 iperf3 使用的端口(默认是 5201 端口)。以 Windows 系统为例,打开 “控制面板”→“系统和安全”→“Windows Defender 防火墙”→“高级设置”,在 “入站规则” 中添加一条允许 5201 端口通信的规则。Linux 系统可以使用 “sudo ufw allow 5201/tcp” 和 “sudo ufw allow 5201/udp” 命令开放 5201 端口的 TCP 和 UDP 通信。

  3. 确认服务器是否正常启动:在服务器端查看 iperf3 服务器是否正常运行,确保没有出现错误信息。如果服务器启动失败,可以检查是否有其他程序占用了 5201 端口,使用 “netstat -ano | findstr 5201”(Windows 系统)或 “netstat -tuln | grep 5201”(Linux 系统)命令查看端口占用情况。如果端口被占用,可以使用 “-p” 参数指定其他未被占用的端口,例如在服务器端输入 “iperf3 -s -p 5202”,客户端输入 “iperf3 -c [服务器 IP 地址] -p 5202”。

(二)测试带宽与实际预期差距较大

  1. 检查网络环境:确保测试时没有其他设备或程序占用大量网络带宽,例如正在下载大文件、观看高清视频等。可以在测试前关闭其他不必要的网络应用程序,减少网络干扰。

  2. 检查硬件设备:网络适配器、路由器、交换机等硬件设备的性能也会影响网络带宽。可以检查硬件设备是否正常工作,是否存在硬件故障或性能瓶颈。例如,更换更高性能的路由器或网络适配器,看测试带宽是否有提升。

  3. 调整测试参数:可以尝试调整 iperf3 的测试参数,例如增加测试时间(使用 “-t” 参数)、使用多线程测试(使用 “-P” 参数)等,以获得更准确的测试结果。

(三)UDP 测试丢包率过高

  1. 检查网络稳定性:UDP 协议不保证数据的可靠传输,网络不稳定时容易出现丢包。可以通过 ping 命令测试网络的稳定性,查看是否有丢包现象。如果网络不稳定,需要检查网络线路、路由器等设备,排除网络故障。

  2. 调整 UDP 测试带宽:如果指定的 UDP 测试带宽超过了网络的实际承载能力,就会导致丢包率过高。可以适当降低测试带宽(使用 “-b” 参数),重新进行测试,看丢包率是否降低。

六、总结

iperf3 作为一款专业的网络性能测试工具,凭借其强大的功能、跨平台支持和简单的操作,成为了网络测试领域的常用工具。通过本文的介绍,相信大家已经掌握了 iperf3 的安装方法、不同场景下的测速操作以及测试结果的解读技巧,同时也了解了常见问题的解决办法。

在实际使用过程中,大家可以根据自己的需求选择合适的测试参数,灵活运用 iperf3 来测试网络性能,及时发现网络中的问题并进行优化,从而提升网络的使用体验。如果在使用过程中遇到其他问题,也可以查阅 iperf3 的官方文档或在相关技术论坛上寻求帮助。


手把手教你用 iperf3 进行专业网络测速
https://www.gmtgo.com/56076.html
作者
大帅
发布于
2025年10月21日
许可协议