网络性能测试工具:iperf3介绍
文章目录
- 前言
- 一、iperf3 的安装和使用
- 下载和安装
- 参数说明
- 二、iperf3 测试
- 服务端启动
- 客户端启动
- 服务端输出
- 反向测试
- 客户端
- 服务端
前言
新接触的网络环境如何评估网络带宽和吞吐量呢,有的项目没有对业务流量进行合理规划,服务或者中间件出口带宽经常有被打满的情况。所以提前预测网络带宽的瓶颈还是非常有必要的。
ipef3工具,是一个用于测试网络带宽的开源工具,用于评估网络的性能和吞吐量,他是iperf工具的第三个版本。
一、iperf3 的安装和使用
下载和安装
官网链接: https://iperf.fr/
iperf3支持Windows和Linux版本,Windows是直接编译好的exe文件,Linux一般是rpm包,可以通过yum源安装。
windows 下载连接: https://files.budman.pw/ 下载后解压,在cmd或者gitbash窗口可以启动。
Linux 通过 yum install iperf3 直接安装。
参数说明
-
-c, --client <server_hostname>:指定客户端模式,连接到指定的服务器。
-
-s, --server:指定服务器模式,启动 iPerf3 服务器。
-
-p, --port :指定服务器监听的端口号,默认为 5201。
-
-t, --time
-
-i, --interval :设置报告输出的间隔时间,单位为秒,默认为 1 秒。
-
-w, --window <window_size>:设置 TCP 窗口大小,单位为字节,默认为 128KB。
-
-b, --bandwidth :限制带宽,单位为比特每秒(bps)。
-
-u, --udp:使用 UDP 协议进行测试,默认TCP协议。
-
-l, --len :设置 UDP 数据包的长度,单位为字节,默认为 1460 字节。
-
-n, --bytes :设置要发送的字节数,可以与 -t 参数一起使用。
-
-P, --parallel :指定并发连接数,可以同时进行多个连接。
-
-R, --reverse:反向测试,客户端变为服务器,服务器变为客户端。
-
-V, --IPv6:使用 IPv6 地址。
-
-h, --help:显示帮助信息。
二、iperf3 测试
现在我们分别在Windows端和Linux端安装了iperf3软件。
Windows主机 (192.168.37.1) 客户端
Linux主机(192.168.37.100) 服务端
服务端启动
[root@work ~]# iperf3 -s -p 5222
-----------------------------------------------------------
Server listening on 5222
-----------------------------------------------------------
-s 表示服务器端 -p 指定服务端监听端口
客户端启动
$ ./iperf3.exe -c 192.168.37.100 -p 5222 -t 10 -i 1
Connecting to host 192.168.37.100, port 5222
[ 4] local 192.168.37.1 port 13957 connected to 192.168.37.100 port 5222
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 315 MBytes 2.64 Gbits/sec
[ 4] 1.00-2.00 sec 349 MBytes 2.93 Gbits/sec
[ 4] 2.00-3.00 sec 304 MBytes 2.55 Gbits/sec
[ 4] 3.00-4.00 sec 332 MBytes 2.78 Gbits/sec
[ 4] 4.00-5.00 sec 335 MBytes 2.81 Gbits/sec
[ 4] 5.00-6.00 sec 352 MBytes 2.95 Gbits/sec
[ 4] 6.00-7.00 sec 367 MBytes 3.07 Gbits/sec
[ 4] 7.00-8.00 sec 367 MBytes 3.08 Gbits/sec
[ 4] 8.00-9.00 sec 339 MBytes 2.84 Gbits/sec
[ 4] 9.00-10.00 sec 318 MBytes 2.67 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 3.30 GBytes 2.83 Gbits/sec sender
[ 4] 0.00-10.00 sec 3.30 GBytes 2.83 Gbits/sec receiveriperf Done.
-c 表示客户端
-p 5222 指定服务端口
-t 10 测试持续时间
-i 1 设置报告输出的间隔时间。
服务端输出
[root@work ~]# iperf3 -s -p 5222
-----------------------------------------------------------
Server listening on 5222
-----------------------------------------------------------
Accepted connection from 192.168.37.1, port 13956
[ 5] local 192.168.37.100 port 5222 connected to 192.168.37.1 port 13957
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-1.00 sec 301 MBytes 2.52 Gbits/sec
[ 5] 1.00-2.00 sec 348 MBytes 2.92 Gbits/sec
[ 5] 2.00-3.00 sec 304 MBytes 2.55 Gbits/sec
[ 5] 3.00-4.00 sec 333 MBytes 2.79 Gbits/sec
[ 5] 4.00-5.00 sec 338 MBytes 2.83 Gbits/sec
[ 5] 5.00-6.00 sec 349 MBytes 2.93 Gbits/sec
[ 5] 6.00-7.00 sec 366 MBytes 3.07 Gbits/sec
[ 5] 7.00-8.00 sec 366 MBytes 3.07 Gbits/sec
[ 5] 8.00-9.00 sec 344 MBytes 2.89 Gbits/sec
[ 5] 9.00-10.00 sec 317 MBytes 2.66 Gbits/sec
[ 5] 10.00-10.04 sec 11.4 MBytes 2.42 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-10.04 sec 0.00 Bytes 0.00 bits/sec sender
[ 5] 0.00-10.04 sec 3.30 GBytes 2.82 Gbits/sec receiver
-----------------------------------------------------------
Server listening on 5222
-----------------------------------------------------------
结果查看,主要是看 receiver Bindwidth达到的的值。
反向测试
服务端启动方式不变,客户端在原来启动命令基础上,增加-R 参数就是客户端和服务器将对调过来。
客户端
$ ./iperf3.exe -c 192.168.37.100 -p 5222 -t 10 -i 1 -R
Connecting to host 192.168.37.100, port 5222
Reverse mode, remote host 192.168.37.100 is sending
[ 4] local 192.168.37.1 port 9562 connected to 192.168.37.100 port 5222
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 106 MBytes 892 Mbits/sec
[ 4] 1.00-2.00 sec 106 MBytes 886 Mbits/sec
[ 4] 2.00-3.00 sec 105 MBytes 877 Mbits/sec
[ 4] 3.00-4.00 sec 97.9 MBytes 822 Mbits/sec
[ 4] 4.00-5.00 sec 89.4 MBytes 750 Mbits/sec
[ 4] 5.00-6.00 sec 74.6 MBytes 625 Mbits/sec
[ 4] 6.00-7.00 sec 71.9 MBytes 603 Mbits/sec
[ 4] 7.00-8.00 sec 68.0 MBytes 571 Mbits/sec
[ 4] 8.00-9.00 sec 69.1 MBytes 580 Mbits/sec
[ 4] 9.00-10.00 sec 69.4 MBytes 582 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 857 MBytes 719 Mbits/sec 0 sender
[ 4] 0.00-10.00 sec 857 MBytes 719 Mbits/sec receiveriperf Done.
服务端
[root@work ~]# iperf3 -s -p 5222
-----------------------------------------------------------
Server listening on 5222
-----------------------------------------------------------
Accepted connection from 192.168.37.1, port 9561
[ 5] local 192.168.37.100 port 5222 connected to 192.168.37.1 port 9562
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 5] 0.00-1.02 sec 105 MBytes 863 Mbits/sec 0 218 KBytes
[ 5] 1.02-2.01 sec 105 MBytes 884 Mbits/sec 0 218 KBytes
[ 5] 2.01-3.01 sec 105 MBytes 878 Mbits/sec 0 218 KBytes
[ 5] 3.01-4.02 sec 98.2 MBytes 820 Mbits/sec 0 218 KBytes
[ 5] 4.02-5.02 sec 89.5 MBytes 753 Mbits/sec 0 218 KBytes
[ 5] 5.02-6.02 sec 75.0 MBytes 628 Mbits/sec 0 218 KBytes
[ 5] 6.02-7.03 sec 73.0 MBytes 603 Mbits/sec 0 218 KBytes
[ 5] 7.03-8.03 sec 67.5 MBytes 571 Mbits/sec 0 218 KBytes
[ 5] 8.03-9.03 sec 69.5 MBytes 579 Mbits/sec 0 218 KBytes
[ 5] 9.03-10.02 sec 68.8 MBytes 582 Mbits/sec 0 218 KBytes
[ 5] 10.02-10.04 sec 1.25 MBytes 562 Mbits/sec 0 218 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 5] 0.00-10.04 sec 857 MBytes 716 Mbits/sec 0 sender
[ 5] 0.00-10.04 sec 0.00 Bytes 0.00 bits/sec receiver
-----------------------------------------------------------
Server listening on 5222
-----------------------------------------------------------
这里,服务端结果,看sender 这一行,这次服务端是发送端。带宽716Mbits/sec
相关文章:
网络性能测试工具:iperf3介绍
文章目录 前言一、iperf3 的安装和使用下载和安装参数说明 二、iperf3 测试服务端启动客户端启动服务端输出反向测试客户端服务端 前言 新接触的网络环境如何评估网络带宽和吞吐量呢,有的项目没有对业务流量进行合理规划,服务或者中间件出口带宽经常有被…...
scp:Linux系统本地与远程文件传输命令
scp 是Linux系统中用于在本地主机和远程主机之间进行文件传输的命令。 详细说明: scp 命令用于安全地将文件从一个主机传输到另一个主机,所有传输数据都是加密的。语法: scp [参数] [源文件路径] [目标主机:目标路径] 参数说明:…...
python基础(习题、资料)
免费提取资料: 练习、资料免费提取。持续更新迅雷云盘https://pan.xunlei.com/s/VNz6kH1EXQtK8j-wwwz_c0k8A1?pwdrj2x# 本文为Python的进阶知识合辑,包括列表(List)、元组(Tuple)、字典(Dic…...
shell脚本免交互
shell脚本的编写一方面为了减少我们命令的输入,另一方面也可以进行简单的自动化运行,其中为了实现自动化过程,一个很重要的点就是免交互,本篇文章跟大家简单分享两个常用的免交互的方法。 Here Document Here document 通过内联重…...
WPF学习笔记:给文字添加线性渐变效果
<TextBox Text"XXX信息管理系统" VerticalAlignment"Center" Background"Transparent" HorizontalAlignment"Center" FontSize"35" FontWeight"Normal"> <TextBox.Effect> <…...
Fully Convolutional Networks for Semantic Segmentation--论文笔记
论文笔记 资料 1.代码地址 2.论文地址 https://arxiv.org/abs/1411.4038 3.数据集地址 论文摘要的翻译 卷积网络是强大的视觉模型,可以产生特征层次结构。我们表明,卷积网络本身,经过端到端,像素对像素的训练,在…...
Camworks编程怎么样:深度解析其四大特点、五大应用领域、六大优势与七大挑战
Camworks编程怎么样:深度解析其四大特点、五大应用领域、六大优势与七大挑战 Camworks编程,作为计算机辅助制造(CAM)领域的一款重要软件,近年来在制造业中得到了广泛的应用。那么,Camworks编程究竟怎么样呢…...
【Linux】操作系统之冯诺依曼体系
🎉博主首页: 有趣的中国人 🎉专栏首页: Linux 🎉其它专栏: C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好,本片文章将会讲解 操作系统中 冯诺依曼体系 的相关内容。 如果看到最后您觉得这篇文…...
c++ QT 实现QMediaPlayer播放音频显示音频级别指示器
文章目录 效果图概述代码总结 效果图 概述 QMediaPlayer就不介绍了,就提供了一个用于播放音频和视频的媒体播放器 QAudioProbe 它提供了一个探针,用于监控音频流。当音频流被捕获或播放时,QAudioProbe 可以接收到音频数据。这个类在需要访问…...
失之毫厘差之千里之load和loads
起源 最近在读pandas库的一些文档的时候,顺便也会将文档上的一些demo在编辑器中进行运行测试,其中在读到pandas处理Json数据这一节的时候,我还是像往常一样,将文档提供的demo写一遍,结果在运行的时候,直接…...
element ui在移动端的适配问题
element ui在移动端的适配问题 问题1: 给el-table表头添加背景色,使用以下代码 :header-row-style“{ background: ‘linear-gradient(90deg, #0079FA 0%, #00C7DD 100%)’ }” 在安卓手机上显示正常,在ios手机上显示背景色添加到每一个th中…...
堆排序详细理解
目录 一、前备知识 二、建堆 2.2.1 向上调整算法建堆 2.2.2 向下调整算法建堆 三、排序 3.1 常见问题 3.2 思路 3.3 源码 一、前备知识 详细图解请点击:二叉树的顺序实现-堆-CSDN博客 本文只附上向上/向下调整算法的源码 //交换 void Swap(int* p, int* …...
RK3588+FPGA+AI高性能边缘计算盒子,应用于视频分析、图像视觉等
搭载RK3588(四核 A76四核 A55),CPU主频高达 2.4GHz ,提供1MB L2 Cache 和 3MB L3 ,Cache提供更强的 CPU运算能力,具备6T AI算力,可扩展至38T算力。 产品规格 系统主控CPURK3588,四核…...
07-操作元素(键盘和鼠标事件)
在前面的文章中重点介绍了一些元素的定位方法,定位到元素后,就需要操作元素了。本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件。 一、简单操作 点击按钮(鼠标左键):click()清空输入框&…...
3389,为了保障3389端口的安全,我们可以采取的措施
3389端口,作为远程桌面协议(RDP)的默认端口,广泛应用于Windows操作系统中,以实现远程管理和控制功能。然而,正因为其广泛使用,3389端口也成为许多潜在安全威胁的入口。因此,确保3389…...
Java集合【超详细】2 -- Map、可变参数、Collections类
文章目录 一、Map集合1.1 Map集合概述和特点【理解】1.2 Map集合的基本功能【应用】1.3 Map集合的获取功能【应用】1.4 Map集合的两种遍历方式 二、HashMap集合2.1 HashMap集合概述和特点【理解】2.2 HashMap的组成、构造函数2.3 put、查找方法2.4 HashMap集合应用案例【应用】…...
最佳 Mac 数据恢复:恢复 Mac 上已删除的文件
尝试过许多 Mac 数据恢复工具,但发现没有一款能达到宣传的效果?我们重点介绍最好的 Mac 数据恢复软件 没有 Mac 用户愿意担心数据丢失,但您永远不知道什么时候会发生这种情况。无论是意外删除 Mac 上的重要文件、不小心弄湿了 Mac、感染病毒…...
芋道系统,springboot+vue3+mysql实现地址的存储与显示
1.效果图 2.前端实现: <el-form-item label"地址" prop"entrepriseAddress"><el-cascaderv-model"formData.entrepriseAddress"size"large":options"region"/></el-form-item> //导入组件 im…...
【C++】C++11新特性:列表初始化、声明、新容器、右值引用、万能引用和完美转发
目录 一、列表初始化 1.1 { } 初始化 1.2 std::initializer_list 二、声明 2.1 auto 2.2 decltype 2.3 nullptr 三、新容器 四、右值引用和移动语义 4.1 左值和左值引用 4.2 右值和右值引用 4.3 左值引用与右值引用比较 4.4 右值引用使用场景和意义:移…...
【IB Protocal Serial--WQE】
IB Protocal Serial--WQE 1 Intro1.1 What1.2 IBA WQE 本系列文章介绍RDMA技术的具体实现–InfiniBand Protocal; Introduce the features, capalities,components, and elements of IBA. the principles of operation. 1 Intro 1.1 What 理解IB协议下面这三句话对…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
