iperf3网络带宽性能测试工具 局域网网络最大带宽高阶教程

news2024/12/29 9:55:35

        iperf3 是一个 TCP, UDP, 和 SCTP (传输层协议)网络带宽测量工具,iperf 是一个用于主动测量 IP 网络上最大可用带宽的工具. 它支持与时间、协议和缓冲区相关的各种参数的调优. 对于每个测试,它报告测量的吞吐量/比特率(带宽), 丢包率和其他参数,iperf的版本不向下兼容(本文使用iperf3 版本)

下载地址:iPerf - The TCP, UDP and SCTP network bandwidth measurement tool

相关参数 

iperf3是一款强大的网络性能测试工具,可以评估网络带宽、延迟和数据包丢失等关键性能指标。以下是一些常用的iperf3参数及其使用举例:
### 通用参数
- `-v`:显示版本信息。
- `-p`:指定服务器端监听的端口号。
- `-f`:指定带宽输出的格式,例如Kbits、Mbits等。
- `-i`:设置监控报告的时间间隔。
- `-J`:以JSON格式输出结果,方便数据解析。
- `--logfile`:将结果输出到指定的文件中。
### 服务端参数
- `-s`:以服务器模式运行,等待客户端连接。
- `-D`:后台运行服务器模式。
### 客户端参数
- `-c`:以客户端模式运行,连接到服务端。
- `-t`:设置传输时间,默认为10秒。
- `-n`:设置传输的数据量大小,与`-t`不能同时使用。
- `-b`:设置目标比特率,UDP默认为1Mbit/s,TCP没有限制。
- `-l`:设置读取或写入的缓冲区长度,TCP默认为128KB,UDP默认为1460。
- `-O`:忽略测试开始前几秒的数据。
- `-R`:反向模式运行,即服务端发送,客户端接收。
- `-u`:使用UDP协议进行测试,默认使用TCP协议。
- `--get-server-output`:输出服务端的结果。
### 使用举例
1. **启动服务端**:
   ```
   iperf3 -s
   ```
   这将启动iperf3服务端,并在默认端口5201上监听。
2. **启动客户端并测试TCP连接**:
   ```
   iperf3 -c [服务器IP地址] -t 10
   ```
   这会启动iperf3客户端,并连接到指定IP地址的服务器,测试持续10秒。
3. **测试UDP连接**:
   ```
   iperf3 -c [服务器IP地址] -u -b 1M -t 10
   ```
   这会使用UDP协议,设置比特率为1Mbit/s,测试持续10秒。
4. **反向测试**:
   ```
   iperf3 -c [服务器IP地址] -R -t 10
   ```
   这将进行反向测试,即服务器向客户端发送数据。
5. **长期运行的测试**:
   ```
   iperf3 -c [服务器IP地址] -t 3600 &
   ```
   这将启动一个持续1小时的测试,并放到后台运行。
6. **获取JSON格式报告**:
   ```
   iperf3 -c [服务器IP地址] -J -t 10
   ```
   这会输出JSON格式的报告,方便进行数据分析和处理。
在使用iperf3进行网络测速时,建议根据具体的测试需求调整相关参数,以获得最准确的测试结果。同时,请确保客户端和服务端之间的网络连接稳定,以便得到可靠的测试数据。 

命令行帮助 

        URL地址栏输入CMD 赋予环境变量 进入后输入 iperf3 即可查看帮助(同时验证临时环境变量设置成功)

 

测速环境

        环境:同一局域网内使用有线或者无线连接同一网关等设备,获取双方的IP地址

                PC电脑-----> PC电脑

                PC电脑----->Android手机

                LInux----->等等同理

        注意:双方任意一端都可以作为服务端,测试的带宽数据在客户端查看

命令使用演示

      PC------>PC

        由于部分电脑有运行环境的问题使用CMD地址栏临时赋予环境变量(这里非常重要)

URL地址栏输入CMD 赋予临时环境变量(命令输入后无显示则操作有误)

        1.PC1开启接收端服务

iperf3 -s

        2.PC2开启客户端服务

        场景一(数据正向传输)

上面环境进入同理命令     iperf3 -u -c 192.168.1.5 -b 100m -t 100

参数解释

c  客户端服务模式

u UDP协议(默认TCP协议)

192.168.10.250 被测速对端设备IP地址

b 设置比特速率为100Mbit/s

t  传输时间100s

注:最终我们说的实际带宽是还需要÷8=最终带宽

        客户端显示测试的带宽结果 

         服务端显示传输参数

         场景二(数据反向传输)

上面环境进入同理命令   iperf3 -u -c 192.168.1.5 -b 100m -t 100  -R

参数解释

c  客户端服务模式

u UDP协议(默认TCP协议)

192.168.10.250 被测速对端设备IP地址

b 设置比特速率为100Mbit/s

t  传输时间100s

-R 反向模式运行,即服务端发送,客户端接收(一个人的时候也方便测试)

注:最终我们说的实际带宽是还需要÷8=最终带宽

        客户端显示测试的带宽结果 

          服务端显示传输参数

      PC------>Android

       环境: Android使用WiFi连接路由或者网关或者AP等设备使得设备处于同一局域网,PC端可以作为服务器也可以作为客户端

        场景一(PC作为客户端)

        PC开启客户端服务

上面环境进入同理命令     iperf3 -u -c 192.168.1.5 -b 100m -t 100

参数解释

c  客户端服务模式

u UDP协议(默认TCP协议)

192.168.10.250 被测速对端设备IP地址

b 设置比特速率为100Mbit/s

t  传输时间100s

注:最终我们说的实际带宽是还需要÷8=最终带宽

        客户端显示的结果

        Android端开启服务

打开安卓端 Network Tools 软件(包名et.he.networktools),选择iperf3 执行命令 -s

        显示的结果

        场景二(PC作为服务端) 

        PC开启服务端服务

客户端输入iperf3 -s 

        客户端显示的结果

        Android开启客户端

执行命令   -c 192.168.1.2 -b 100m -t 100 

命令          -c 192.168.1.2 -b 100m -t 100 -R 同理

注:客户端不加iperf3

该教程解决了你的问题请记得为我点赞~ 

注:最后测试的带宽需要 ÷8 才是实际带宽(单位M)

资源下载:Network Tools 带宽测试外部分享官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1415263.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL 覆盖索引

目录 一、什么是索引 二、索引的有哪些种类? 三、InnoDB的不同的索引组织结构是怎样的呢? 四、什么是覆盖索引 五、如何使用是覆盖索引? 六、如何确定数据库成功使用了覆盖索引呢 总结: 一、什么是索引 索引(在 …

Log4j2-01-log4j2 hello world 入门使用

拓展阅读 Log4j2 系统学习 Logback 系统学习 Slf4j Slf4j-02-slf4j 与 logback 整合 SLF4j MDC-日志添加唯一标识 分布式链路追踪-05-mdc 等信息如何跨线程? Log4j2 与 logback 的实现方式 日志开源组件(一)java 注解结合 spring aop 实现自动输…

openssl3.2 - 测试程序的学习 - 准备openssl测试专用工程的模板

文章目录 openssl3.2 - 测试程序的学习 - 准备openssl测试专用工程的模板概述笔记工程中需要的openssl的库实现END openssl3.2 - 测试程序的学习 - 准备openssl测试专用工程的模板 概述 openssl3.2 - 测试程序的学习 整了几个test.c, 每开一个新的测试工程, 总要改这改那的. …

【RH850U2A芯片】Reset Vector和Interrupt Vector介绍

目录 前言 正文 1. 什么是Reset Vector 1.1 S32K144芯片的Reset Vector 1.2 RH850芯片的Reset Vector 2. 什么是Interrupt Vector 2.1 S32K144芯片的Interrupt Vector 2.2 RH850芯片的Interrupt Vector 3. Reset Vector等价于Interrupt Vector吗 4. 总结 前言 最近在…

uniapp微信小程序-input默认字的样式

需要的是这样的 问题 正常是在input框上面写样式就行&#xff0c;但是uniapp不起作用 解决 直接在input上写placeholder-style"color就解决了 <input class"findInput" type"text" placeholder"关键词查询"placeholder-style"co…

微信小程序-04

rpx&#xff08;responsive pixel&#xff09;是微信小程序独有的&#xff0c;用来解决屏适配的尺寸单位。 import 后跟需要导入的外联样式表的相对路径&#xff0c;用 ; 表示语句结束。 定义在 app.wxss 中的样式为全局样式&#xff0c;作用于每一个页面。 在页面的 .wxss 文…

第九篇 华为云Iot SDK的简单应用

第九篇 华为云Iot SDK的简单应用 一、华为云Iot SDK API的简单使用 1.初始化SDK 2.绑定连接配置信息 3.连接服务器 4.上报属性 5.接收命令 二、实现智能家居灯光状态上报 &#x1f516;以下是上报数据到华为云Iot的代码片段&#xff0c;配合串口控制灯光&#xff0c;改变灯…

DolphinDB学习(2):增删改查数据表(分布式表的基本操作)

文章目录 创建数据表1. 创建数据表全流程2. 核心&#xff1a;创建table3. 在已有的数据表中追加新的数据 数据表自身的操作1. 查询有哪些数据表2. 删除某张数据表3. 修改数据表的名称 博客里只介绍最常见的分区表&#xff08;createPartitionedTable&#xff09;的创建方法&…

【机器学习笔记】1 线性回归

回归的概念 二分类问题可以用1和0来表示 线性回归&#xff08;Linear Regression&#xff09;的概念 是一种通过属性的线性组合来进行预测的线性模型&#xff0c;其目的是找到一条直线或者一个平面或者更高维的超平面&#xff0c;使得预测值与真实值之间的误差最小化&#x…

Hive3.1.3基础(续)

参考B站尚硅谷 分区表和分桶表 分区表 Hive中的分区就是把一张大表的数据按照业务需要分散的存储到多个目录&#xff0c;每个目录就称为该表的一个分区。在查询时通过where子句中的表达式选择查询所需要的分区&#xff0c;这样的查询效率会提高很多。 分区表基本语法 分区表…

JVM系列-9.性能调优

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring原理、JUC原理、Kafka原理、分布式技术原理、数据库技术、JVM原理&#x1f525;如果感觉博主的文…

c++ QT 信号的个人理解 信号就是独立文件调用的一种“协议”

一. 简介 就我个人来理解&#xff0c;信号槽机制与Windows下消息机制类似&#xff0c;消息机制是基于回调函数&#xff0c;Qt中用信号与槽来代替函数指针&#xff0c;使程序更安全简洁。 信号和槽机制是 Qt 的核心机制&#xff0c;可以让编程人员将互不相关的对象绑定在一起&a…

JavaEE-自定义SSM-编写核心- my spring bean工厂(IoC、DI)

3.4 my spring bean工厂&#xff08;IoC、DI&#xff09; 加载类解析类获得类 3.4.0 分析 3.4.1 扫描指定包下的所有类 package com.czxy.bean;import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Objects;public class MyBeanFac…

面向Java开发者的ChatGPT提示词工程(11)扩写

什么是扩写&#xff1f; 扩写是指将较短的文本交给GPT生成更长的文本。比如&#xff1a;根据一组基本指令&#xff0c;写出一封完整的电子邮件&#xff1b;或者根据一系列主题&#xff0c;创作出一篇包含这些主题的文章。 这样的技术&#xff0c;有着广阔的应用场景&#xff…

【JavaEE】传输层网络协议

传输层网络协议 1. UDP协议 1.1 特点 面向数据报&#xff08;DatagramSocket&#xff09;数据报大小限制为64k全双工不可靠传输有接收缓冲区&#xff0c;无发送缓冲区 UDP的特点&#xff0c;我理解起来就是工人组成的**“人工传送带”**&#xff1a; 面向数据报&#xff08;…

CMake简明教程 笔记

推荐B站视频&#xff1a;1.1 Cmake构建项目的流程_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1xa4y1R7vT?p1&vd_sourcea934d7fc6f47698a29dac90a922ba5a3 >>目录 1&#xff09;CMake初体验 CMake构建流程Windows下使用CMake构建项目Linux下使用CMake构…

vue3使用@imengyu/vue3-context-menu完成antv/x6右键菜单

1、下载插件&#xff1a; npm i imengyu/vue3-context-menu1.3.6 2、在页面中引入并使用插件&#xff1a; <script setup> import ContextMenu from "imengyu/vue3-context-menu";graph.on("node:contextmenu", ({ e, x, y, cell, view }) > {ha…

本地磁盘消失了怎么办?本地磁盘不见了如何恢复

本地磁盘消失了怎么办&#xff1f;本地磁盘不见了如何恢复&#xff1f;在使用计算机过程中&#xff0c;有时候会遇到本地磁盘突然消失的情况&#xff0c;这让许多用户感到困扰。本文将针对这个问题进行探讨&#xff0c;介绍一些常见的磁盘恢复方法&#xff0c;帮助用户尽快解决…

【c++】类对象模型

1.如何计算类对象的大小 class A { public:void PrintA(){cout<<_a<<endl;} private:char _a; }; 问题&#xff1a;类中既可以有成员变量&#xff0c;又可以有成员函数&#xff0c;那么一个类的对象中包含了什么&#xff1f;如何计算一个类的大小&#xff1f; 2…

垃圾填埋气体监测与告警一体化环保监测5G云网关

数字化时代数据采集和传输我认为变得非常重要。为了满足这一需求&#xff0c;我们推出了一款具备多种功能的数据采集器。这款产品不仅集成了8DI干湿节点、4DO继电器、6AI电流/电压型传感器&#xff0c;还支持与多个云平台进行上行对接。通过这些功能&#xff0c;用户可以轻松实…