当前位置: 首页 > news >正文

windwos与linux环境下Iperf3带宽测试工具的安装、使用

目录

一、前言

二、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

相关文章:

  • 【前端开发者如何有效利用 deepSeek 为自己服务】
  • 关于Transparent native-to-ascii conversion
  • 算法很美笔记(Java)——动态规划
  • 重启——二分
  • Windows 下免费开源的多格式文件差异对比工具
  • php处理图片出现内存溢出(Allowed memory size of 134217728 bytes exhausted)
  • Redis存储⑩Redis的事务_弱化的原子性
  • DeepSeek 提示词:定义、作用、分类与设计原则
  • 内容中台架构下智能推荐系统的算法优化与分发策略
  • Vue3 状态管理 - Pinia
  • 基于深度学习模型`U-Net`和`segment_anything`(SAM)库的实现示例
  • DuodooBMS源码解读之 cncw_ledger模块
  • Python连接MySQL数据库图文教程,Python连接数据库MySQL入门教程
  • 我的世界1.20.1forge开发教程(6)——自定义燃料,熔炼规则、配方
  • 【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter19-表单脚本
  • 《Python实战进阶》专栏 No.3:Django 项目结构解析与入门DEMO
  • ubuntu磁盘清理垃圾文件
  • LeetCode刷题---二分查找---441
  • 清华大学《DeepSeek与AI幻觉》(无套路免费分享)
  • lerobot调试记录
  • 王毅会见美国亚洲协会会长康京和
  • 凤阳县鼓楼四周连夜搭起围挡,安徽省文物局已介入调查
  • 东南亚五大经济体一季度增长放缓,美国关税大棒或阻全年增长
  • 澎湃读报丨多家央媒刊文关注拧紧纪律的螺丝:强化监督推动过紧日子要求落到实处
  • 连续两个交易日涨停,华夏幸福:生产经营活动正常,不存在影响股价波动的重大事宜
  • 男子服用头孢后饮酒应酬致昏迷在家,救援人员破门施救后脱险