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

news/2025/2/22 17:23:52

目录

一、前言

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


http://www.niftyadmin.cn/n/5862574.html

相关文章

聊聊istio服务网格

聊聊istio服务网格 微服务的缺点&#xff1a;istio介绍微服务改进前后istio与服务治理 istio与k8s的关系istio的整体架构如有需要收藏的看官&#xff0c;顺便也用发财的小手点点赞哈&#xff0c;如有错漏&#xff0c;也欢迎各位在评论区评论&#xff01; 微服务的缺点&#xff…

写大论文的word版本格式整理,实现自动生成目录、参考文献序号、公式序号、图表序号

前情提要&#xff1a;最近开始写大论文&#xff0c;发现由于内容很多导致用老方法一个一个改的话超级麻烦&#xff0c;需要批量自动化处理&#xff0c;尤其是序号&#xff0c;在不断有增添删减的情况时序号手动调整很慢也容易出错&#xff0c;所以搞一个格式总结&#xff0c;记…

前端开发常见问题与面试-02

1、vue的双向绑定原理是什么&#xff1f;里面的关键点在哪里&#xff1f; Vue的双向绑定原理是基于Object.defineProperty或者Proxy来实现的&#xff0c;其关键点在于数据劫持&#xff0c;即对数据的读取和修改进行拦截&#xff0c;在数据发生变化时自动更新视图 2、实现水平…

Infuse Pro for Mac v8.1 全能视频播放器 支持M、Intel芯片

Infuse Pro 是一款强大的 Mac 视频播放器。它可以一口通吃您所有的视频文件 - Infuse 将把您从繁琐的视频转换中解放出来&#xff0c;用极美的方式在您的 Mac 上观赏几乎所有视频的格式。Infuse 已适配 macOS 11 并添加更加强大的在线视频&#xff0c;Trakt 同步&#xff0c;Ai…

神经网络剪枝技术的重大突破:sGLP-IB与sTLP-IB

神经网络剪枝技术的重大突破:sGLP-IB与sTLP-IB 在人工智能飞速发展的今天,深度学习技术已经成为推动计算机视觉、自然语言处理等领域的核心力量。然而,随着模型规模的不断膨胀,如何在有限的计算资源和存储条件下高效部署这些复杂的神经网络模型,成为了研究者们亟待解决的…

C# 生成二维码隐藏ASCII码

在 C# 中生成二维码时&#xff0c;如果需要隐藏或过滤掉 ASCII 码中的控制字符或不可见字符&#xff0c;可以在生成二维码之前对输入文本进行处理。以下是完整的实现步骤和代码示例&#xff1a; 1. 过滤 ASCII 码中的控制字符 ASCII 码中&#xff0c;0 到 31 以及 127 是控制字…

postman并发测试某个接口

记录一下在postman中压测某一个接口。 1、新建一个collection&#xff1a; 在collection中创建一个get请求&#xff08;压测该接口&#xff09; 2、 并发请求collection&#xff1a; 双击该collection&#xff0c;点击run按钮 然后&#xff0c;设置并发&#xff1a; 查看结果…

常见千兆光电收发器型号(PON无源光收发光功率范围)

常见千兆光纤收发器型号&#xff0c;详细参考表格&#xff1a; 型号发送功率范围 (dBm)接收灵敏度 (dBm)过载光功率 (dBm)HTB-GS-03-A-3 ~ 3-285HTB-GS-03-B-3 ~ 3-285HTB-GS-05-A0 ~ 5-276HTB-GS-05-B0 ~ 5-276HTB-GS-10-A2 ~ 7-2510HTB-GS-10-B2 ~ 7-2510HTB-GS-204 ~ 9-24…