网络性能测试工具: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协议下面这三句话对…...
量子计算解决最大独立集问题的qReduMIS算法解析
1. 量子计算与最大独立集问题概述最大独立集问题(Maximum Independent Set, MIS)是图论中的一个经典NP难问题,其目标是找到给定无向图中最大的顶点子集,使得该子集中任意两个顶点之间没有边相连。这个问题在社交网络分析、无线网络…...
UE5《Electric Dreams》项目PCG技术解析 之 基于PCGSettings的模块化关卡构建
1. PCG技术为何成为UE5开发者的新宠 第一次在UE5.2中接触到PCG框架时,那种感觉就像从手动挡汽车换成了自动驾驶。以前用Houdini做程序化生成时,光是处理插件兼容性和资源导入问题就能耗掉大半天。现在原生集成的PCG框架直接把开发效率提升了至少三倍&…...
用HSPICE玩转CMOS反相器:手把手教你分析尺寸、延迟与功耗的权衡
用HSPICE玩转CMOS反相器:手把手教你分析尺寸、延迟与功耗的权衡 在集成电路设计的浩瀚宇宙中,CMOS反相器就像是一颗不起眼却至关重要的基础星体。作为数字电路中最简单的构建模块,它的性能表现直接影响着整个系统的运行效率。对于已经掌握HS…...
Noto Emoji终极指南:3种策略彻底解决跨平台表情符号显示难题
Noto Emoji终极指南:3种策略彻底解决跨平台表情符号显示难题 【免费下载链接】noto-emoji Noto Emoji fonts 项目地址: https://gitcode.com/gh_mirrors/no/noto-emoji Noto Emoji是Google开发的开源表情符号字体库,旨在为全球用户提供完整、一致…...
GDB断点管理保姆级指南:从查看、删改到批量操作,告别调试混乱
GDB断点管理保姆级指南:从查看、删改到批量操作,告别调试混乱 调试大型C/C项目时,断点管理往往成为工程师的痛点。想象一下,当你在一个包含数十个源文件的项目中设置了50多个断点,每次调试时都要在密密麻麻的断点列表中…...
基于LangChain与Streamlit构建智能论文阅读助手:从原理到实践
1. 项目概述:一个为学术阅读而生的智能助手 如果你也经常被海量的学术论文淹没,或者对着PDF里复杂的公式和图表感到头疼,那么“talkingwallace/ChatGPT-Paper-Reader”这个项目,很可能就是你一直在寻找的“神兵利器”。这不仅仅是…...
3步解锁12种加密音乐:免费开源工具让数字音乐重获自由
3步解锁12种加密音乐:免费开源工具让数字音乐重获自由 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https…...
Ubuntu Apache WebDAV 服务部署与多用户自动化管理
1. WebDAV服务基础认知与场景价值 第一次听说WebDAV这个词时,我也是一头雾水——这串字母组合看起来像某种神秘协议。直到有次团队需要共享设计素材库,才发现这个1996年就诞生的老协议,在云存储时代依然散发着独特魅力。简单来说,…...
nv-context:开发者必备的上下文管理工具,提升开发效率与团队协作
1. 项目概述:一个为开发者量身定制的上下文管理工具 如果你是一名开发者,尤其是在处理大型项目、复杂配置或者需要频繁切换工作环境时,一定对“上下文”这个概念又爱又恨。爱的是,它能帮你隔离环境、管理配置,让项目井…...
终极B站缓存视频转换指南:快速将m4s无损转换为MP4
终极B站缓存视频转换指南:快速将m4s无损转换为MP4 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经因为B站视频突然下架而感…...
