网络性能测试工具: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协议下面这三句话对…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...
