目录
一、前言
二、windows
2.1下载
2.2安装
2.3使用
2.3.1服务端
2.3.2客户端
2.3.3输出内容
1.客户端
2.服务端
2.4.相关命令
三、linux
3.1安装
3.2使用
1.服务端
2.客户端
3.输出内容
1.客户端
2.服务端
一、前言
在数字化浪潮下,网络性能的稳定与高效是众多业务与应用顺利开展的基石。无论是企业的海量数据流转,还是个人的日常上网冲浪,都与网络质量息息相关。此时,专业的网络性能测试工具显得尤为重要。
iPerf3 作为其中的佼佼者,能模拟多样网络场景,精准提供带宽、延迟、丢包率等关键指标。它支持 TCP、UDP 等协议,适配多种系统,且命令选项丰富,能满足复杂测试需求。
本指南聚焦 Windows 系统,将详细阐述 iPerf3 的下载、安装及使用方法,助力读者快速上手,高效完成网络性能测试,为网络优化提供有力依据。
二、windows
2.1下载
下载链接
iPerf - Download iPerf3 and original iPerf pre-compiled binaries
根据系统版本进行下载
2.2安装
解压到相关目录
进入工作目录
2.3使用
在相关目录下输入cmd,回车进入命令行
2.3.1服务端
输入以下命令后回车,使其作为服务端
iperf3.exe -s
2.3.2客户端
客户端有很多命令,这里我们先演示一下客户端与服务端通讯
输入命令,回车
iperf3.exe -c 127.0.0.1
可以看到客户端这边输出以下内容
同时服务端这边
这表示我们使用了iperf3生成了一个服务端、一个客户端、利用回环地址进行带宽测试
2.3.3输出内容
1.客户端
- 客户端尝试连接位于本地回环地址
127.0.0.1
、端口5201
的iperf3
服务器。 - 客户端本地使用的端口是
50887
,成功与服务器建立了连接。
Interval
:统计的时间间隔,这里以 1 秒为单位。Transfer
:每个时间间隔内传输的数据量。例如在0.00 - 1.00
秒传输了754 MBytes
(兆字节)。Bandwidth
:每个时间间隔内的传输带宽,单位是 Gbits/sec(吉比特每秒)。像0.00 - 1.00
秒的带宽是6.32 Gbits/sec
。
- 总传输数据量:在整个
0.00 - 10.00
秒的测试期间,发送方和接收方的传输数据总量均为7.06 GBytes
,这表明在数据传输过程中没有出现数据丢失的情况。 - 平均带宽:发送方和接收方的平均带宽均为
6.06 Gbits/sec
。这个数值反映了本地网络在测试期间的整体数据传输能力
2.服务端
与客户端相似,但是这里有错误,应该是版本问题
2.4.相关命令
使用iperf3 -h 获取帮助命令
中文翻译过来:
用法
iperf [-s|-c 主机] [选项]
iperf [-h|--帮助] [-v|--版本]
服务器或客户端通用选项
-p, --port #
:服务器监听的端口号或客户端要连接的端口号。-f, --format [kmgKMG]
:报告的格式,可选择 Kbits(千比特)、Mbits(兆比特)、KBytes(千字节)、MBytes(兆字节)。-i, --interval #
:定期带宽报告的时间间隔,单位为秒。-F, --file 文件名
:发送或接收指定的文件。-B, --bind <主机>
:绑定到特定的网络接口。-V, --verbose
:输出更详细的信息。-J, --json
:以 JSON 格式输出结果。--logfile f
:将输出信息保存到指定的日志文件中。-d, --debug
:输出调试信息。-v, --version
:显示版本信息并退出。-h, --help
:显示此帮助信息并退出。
服务器特定选项
-s, --server
:以服务器模式运行。-D, --daemon
:以守护进程模式运行服务器。-I, --pidfile 文件
:将服务器进程的 PID 写入指定文件。-1, --one-off
:处理一个客户端连接后就退出服务器模式。
客户端特定选项
-c, --client <主机>
:以客户端模式运行,连接到指定的主机。-u, --udp
:使用 UDP 协议而非 TCP 协议进行测试。-b, --bandwidth #[KMG][/#]
:目标带宽,单位为比特每秒。值为 0 表示无带宽限制。(UDP 默认带宽为 1 兆比特每秒,TCP 默认无限制)。在突发模式下,可选择添加斜杠和数据包数量。-t, --time #
:传输持续的时间,单位为秒,默认值是 10 秒。-n, --bytes #[KMG]
:要传输的字节数,使用该选项时可替代-t
选项。-k, --blockcount #[KMG]
:要传输的块(数据包)数量,可替代-t
或-n
选项。-l, --len #[KMG]
:读写缓冲区的长度。(TCP 默认 128 千字节,UDP 默认 8 千字节)--cport <端口>
:绑定到特定的客户端端口(适用于 TCP 和 UDP,默认使用临时端口)。-P, --parallel #
:运行的并行客户端流数量。-R, --reverse
:以反向模式运行,即服务器发送数据,客户端接收数据。-w, --window #[KMG]
:设置窗口大小或套接字缓冲区大小。-M, --set-mss #
:设置 TCP/SCTP 的最大段大小(等于 MTU - 40 字节)。-N, --no-delay
:设置 TCP/SCTP 无延迟,禁用 Nagle 算法。-4, --version4
:仅使用 IPv4 协议。-6, --version6
:仅使用 IPv6 协议。-S, --tos N
:设置 IP 的 “服务类型”。-Z, --zerocopy
:使用 “零拷贝” 方法发送数据。-O, --omit N
:跳过前 n 秒的数据。-T, --title 字符串
:为每一行输出添加指定的字符串作为前缀。--get-server-output
:从服务器获取测试结果。--udp-counters-64bit
:在 UDP 测试数据包中使用 64 位计数器。
其他说明
[KMG]
表示这些选项支持使用 K(千)、M(兆)、G(吉)作为后缀。
三、linux
3.1安装
依次输入以下命令
sudo apt-get update
sudo apt-get upgrade
sudo apt-get instll iperf3
输入y,等待安装完成
安装完成
3.2使用
1.服务端
输入命令
ipfer3 -s
2.客户端
在新的终端中输入
iperf3 -c 127.0.0.1
3.输出内容
1.客户端
各部分代表如下
Interval
:统计的时间间隔,这里是以 1 秒为单位进行数据统计。Transfer
:在该时间间隔内传输的数据量,单位为字节(这里显示为吉字节,1 GByte = 字节)。例如在0.00 - 1.00
秒这个时间段,传输的数据量是1.96 GBytes
。Bitrate
:该时间间隔内的传输速率,单位是比特每秒(Gbits/sec,吉比特每秒)。它反映了在这一秒内数据传输的速度,像0.00 - 1.00
秒的传输速率是16.8 Gbits/sec
。Retr
:数据包重传次数。在 TCP 协议中,如果发送方没有收到接收方对某个数据包的确认信息,就会重传该数据包。重传次数越多,说明网络可能存在丢包问题,导致数据需要重新发送。例如在0.00 - 1.00
秒有 2 次数据包重传。Cwnd
:拥塞窗口大小,单位为字节(这里显示为兆字节,1 MByte = 字节)。拥塞窗口是 TCP 协议中用于控制发送方发送数据量的一个参数,它会根据网络的拥塞状况动态调整。当网络拥塞时,拥塞窗口会减小;当网络状况良好时,拥塞窗口会增大
2.服务端
[ ID]
:会话编号,这里始终为[ 5]
,表示这一系列数据都属于同一个连接会话。Interval
:统计的时间间隔。例如0.00 - 1.00 sec
表示从测试开始后的第 0 秒到第 1 秒这个时间段;10.00 - 10.04 sec
表示从第 10 秒到第 10.04 秒这个较短的时间段。Transfer
:在该时间间隔内服务器接收到的数据量。单位为字节,这里使用了较大的存储单位,如吉字节(GBytes)和兆字节(MBytes),1 GByte = 字节,1 MByte = 字节。比如在0.00 - 1.00 sec
这个时间段,服务器接收到了1.88 GBytes
的数据。Bitrate
:该时间间隔内的平均传输速率,单位是吉比特每秒(Gbits/sec)。它反映了在这个时间段内数据传输的速度,例如0.00 - 1.00 sec
的传输速率为16.1 Gbits/sec
。