首页 > 其他分享 >iperf3命令详解

iperf3命令详解

时间:2024-09-30 22:22:25浏览次数:12  
标签:选项 iperf3 UDP 命令 详解 测试 服务器 客户端

iperf3 是一个用于网络性能测试的工具,主要用于测试带宽、延迟、丢包等网络相关指标。它支持 TCP、UDP 测试,还可以测量单向和双向流量。以下是 iperf3 的安装、基本使用方法和常见选项:

1. 安装 iperf3

在大多数 Linux 发行版上可以直接通过包管理器安装 iperf3

  • Debian/Ubuntu

    sudo apt update
    sudo apt install iperf3
    
  • CentOS/RHEL

    sudo yum install epel-release
    sudo yum install iperf3
    
  • Fedora

    sudo dnf install iperf3
    
  • macOS (通过 Homebrew)

    brew install iperf3
    

2. 基本用法

iperf3 需要一个服务器端和一个客户端进行测试。服务器端负责接收数据,客户端负责发送数据。

启动服务器端:

在一台机器上运行以下命令,启动 iperf3 服务器,默认端口为 5201:

iperf3 -s
  • -s:启动为服务器模式。

你会看到类似的输出:

-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------

启动客户端并连接到服务器:

在另一台机器上,运行以下命令连接到服务器并进行带宽测试(需要知道服务器的 IP 地址):

iperf3 -c <server_ip_address>
  • -c:客户端模式,并指定服务器 IP 地址。

运行后会显示带宽测试结果,默认测试持续 10 秒:

Connecting to host 192.168.1.1, port 5201
[  5] local 192.168.1.2 port 50000 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec                  

3. 常见选项

指定测试时间:

默认的测试时间是 10 秒,你可以使用 -t 选项来指定测试时长(单位为秒):

iperf3 -c <server_ip_address> -t 30

这会进行 30 秒的测试。

指定传输方向:

默认情况下,iperf3 只测试从客户端到服务器的单向传输。如果需要测试双向传输(同时上传和下载),可以使用 -R 选项:

iperf3 -c <server_ip_address> -R
  • -R:测试从服务器到客户端的流量(反向模式)。

并发连接测试:

你可以使用 -P 选项来指定多个并发连接,来测试多路传输的性能:

iperf3 -c <server_ip_address> -P 5
  • -P 5:使用 5 个并发连接进行测试。

UDP 测试:

默认情况下,iperf3 使用 TCP 协议。你可以使用 -u 选项来进行 UDP 性能测试:

iperf3 -c <server_ip_address> -u

你还可以通过 -b 选项指定 UDP 带宽,例如 1 Gbps:

iperf3 -c <server_ip_address> -u -b 1G
  • -b:指定带宽,默认单位是比特每秒(bps),也可以使用 MK 表示兆比特和千比特。

指定端口:

默认情况下,iperf3 使用端口 5201。如果你想使用不同的端口,可以使用 -p 选项来指定端口:

iperf3 -s -p 5001  # 服务器端使用 5001 端口
iperf3 -c <server_ip_address> -p 5001  # 客户端连接 5001 端口

测量延迟和抖动(UDP 测试):

在 UDP 模式下,iperf3 还可以测量抖动和丢包率:

iperf3 -c <server_ip_address> -u -b 10M

测试结果会包括丢包、抖动等信息。

4. 查看服务端详细日志

使用 iperf3 的服务端可以加上 -V 选项来查看详细的调试日志:

iperf3 -s -V

5. 保存测试结果到文件

你可以将 iperf3 的输出结果保存到文件中,方便后续分析:

iperf3 -c <server_ip_address> -o result.txt
  • -o result.txt:将测试结果保存到 result.txt 文件。

总结

  • 启动服务器iperf3 -s
  • 启动客户端iperf3 -c <server_ip>
  • TCP 测试:默认进行 TCP 测试,显示带宽。
  • UDP 测试iperf3 -u -c <server_ip>,测试 UDP 带宽、丢包、延迟等。
  • 常见选项-t 测试时间、-P 并发连接数、-R 反向传输等。

iperf3 是一个强大的网络测试工具,能够帮助你了解网络的带宽、稳定性和性能瓶颈。

标签:选项,iperf3,UDP,命令,详解,测试,服务器,客户端
From: https://www.cnblogs.com/jasmine456/p/18442513

相关文章

  • MegaCli64 命令详解
    MegaCli64是用于管理和监控基于LSI/Avago/BroadcomMegaRAID控制器的RAID阵列的命令行工具。可以使用它来查看硬RAID的健康状态和是否正在进行重建(rebuild)。1.查看RAID阵列的状态要检查RAID阵列的整体健康状态,可以运行以下命令:MegaCli64-LDInfo-Lall-aALL-LD......
  • traceroute命令:路由追踪
    一、命令简介​traceroute​是一个常用的网络诊断工具,用于追踪数据包从源主机到目标主机所经过的路由路径,并显示每一跳的延迟。这个命令可以帮助网络管理员或用户识别网络连接中的问题所在,比如延迟过高、路由故障或者数据包丢失。‍二、命令参数基本用法traceroute[......
  • whatis命令:关于命令的简短描述
    一、命令简介​whatis​命令用于查询命令、函数、文件等的基本用途,查询结果只是一句简短的描述。例如$whatislsls(1)-listdirectorycontents返回关于ls命令的简短描述。这个结果实质是来自于man手册的一个章节,在较新的Linux发行版中已经使......
  • shell脚本常用命令
    常用命令2.1查看脚本执行过程2.2查看脚本是否有语法错误2.3date命令2.3.1显示年、月、日date+%Y-%m-%d   #年(以四位数字格式打印年份)月日date+%y-%m-%d   #年(以两位数字格式打印年份)月日date+%T         #年(以四位数字格式打印年份)月日2.3.2......
  • Redux详解
    Redux入门指南:简化状态管理的艺术在前端开发的广阔天地里,Redux作为一款预测性状态管理库,凭借其简洁的理念和强大的功能,在众多框架与库中脱颖而出,成为构建复杂应用的不二之选。本文将带你走进Redux的世界,通过实例代码,让你轻松掌握其核心概念与使用方法。一、Redux简介Red......
  • 流水线并行(Pipeline Parallelism)原理详解
    文章目录0.概览1.简单流水并行2.GPipe算法3.GPipe空间复杂度4.PipeDream算法5.总结参考0.概览数据并行(DataParallelism):在不同的GPU上运行同一批数据的不同子集;流水并行(PipelineParallelism):在不同的GPU上运行模型的不同层;模型并行(ModelParallelism):将......
  • 通过 DISM 命令注入驱动程序到 WIM 镜像的步骤如下:使用 $OEM$ 文件夹是一个简便的方式
    通过DISM命令注入驱动程序到WIM镜像的步骤如下:1.挂载WIM镜像使用以下命令挂载WIM镜像:bashCopyCodeDism/Mount-Wim/WimFile:install.wim/Index:2/MountDir:mount/WimFile: 指定要挂载的WIM文件路径。/Index: 指定要挂载的映像索引(例如,2)。/MountDir: 指......
  • Linux的常用命令
    1、用户操作#创建用户useradd用户名#删除用户userdel用户名-f#强制删除用户-r#删除用户的同时,删除与用户相关的所有文件-fr#联合使用#添加密码passwd用户名#切换用户su用户名2、系统操作2.1系统关机#系统关机shutdown#一分钟之后关机shutdown-h......
  • 【科芯智雲城】详解MCU 产业,有什么成长潜力?
    MCU相当于一台小型电脑,因为它仅仅利用一块不到数平方平米大小的IC便能完成运算、存取、控制等功能,虽然运算能力较弱,但小体积、低耗能和低成本特性,让它广泛被应用在许多不需大量运算应用的设备中,小到额温枪、塑胶玩具、智能家电,大到机械手臂、电动车,都需要MCU作为控制核心......
  • 详解Java之继承与多态
    目录继承派生类和基类各部分执行顺序protected访问权限总结final关键字组合多态向上转型向下转型动态绑定静态绑定方法重载方法重写 super关键字super和this的对比在构造方法中调用重写方法继承继承是为了解决多个类具有一些相同的属性和方法而造成的代......