首页 > 其他分享 >iperf3网络测试工具

iperf3网络测试工具

时间:2024-01-15 15:45:28浏览次数:37  
标签:iperf3 UDP -- 网络 带宽 测试 测试工具 iperf 客户端

iperf网络测试工具

 

iperf命令是一个网络性能测试工具,可以测试TCP和UDP带宽质量。同时也可以通过UDP测试报告网丢包率或者发包性能,是一个非常实用的工具

iperf安装:

可以直接通过官网下载对应系统版本进行安装(https:// iperf.fr / iperf-download.php

1.对于windows版的iPerf,直接将解压出来的iperf.exe和cygwin1.dll复制到%systemroot%目录即可

2.对于linux版的iPerf,请使用如下命令安装

rpm -ivh iperf-<version>.rpm

常用参数指南(详见附录):

-c/s:客户端模式/服务端模式

-p:指定iperf测试端口

-i:指定报告间隔

-b:设置UDP的发送带宽,单位bit/s

-t:设置测试的时长,单位为秒,不设置默认10s

-l:指定包大小,TCP默认8k,UDP默认1470字节

带宽性能测试:

1、针对TCP进行带宽性能测试

服务端命令:iperf -s -i 1 -p 3389

客户端命令:iperf -c 172.19.16.97 -p 3389 -i 1

2、针对UDP进行带宽性能测试

带宽性能压测通常采用udp模式,因为能测出极限带宽、时延抖动、丢包率。在进行测试时,首先以链路理论带宽作为数据发送速率进行测试,例如,从客户端到服务器之间的链路的理论带宽为100Mbps,先用-b 100M进行测试,然后根据测试结果(包括实际带宽,时延抖动和丢包率),再以实际带宽作为数据发送速率进行测试,会发现时延抖动和丢包率比第一次好很多,重复测试几次,就能得出稳定的实际带宽。

服务端命令

iperf -u -s -i 1 -p 3389

客户端命令

1、iperf -u -c 172.19.16.97 -p 3389 -b 1500M -i 1 

2、iperf -u -c 172.19.16.97 -p 3389 -b 2000M -i 1 

网络收发包性能测试:

通过UDP发包测试不仅可以通过-b xxxM的形式测试实例的带宽性能情况,还可以通过-b xxxpps测试实例的收发包性能,

需要注意的是,网络收发包量的测试同时还会受到缓冲区大小的影响,默认的缓冲区比较小的话,会造成实例到达高pps丢包的现象,这里建议在测试前调整下缓冲区大小;同时由于UDP默认发包大小为1470字节,在发包量很高的情况会超出实例的带宽限制,所以这里需-l 指定发包大小,本次测试采用-l 100bit

1、调整UDP缓冲区大小 vi /etc/sysctl.conf 添加 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 

然后执行sysctl -p 使得参数生效(不重启刷新参数)

2、进行测试

服务端命令

iperf -u -s -i 1 -p 3389

客户端命令

iperf -u -c 172.19.16.97 -b 300000pps -l 100bit  -i 1 -p 3389

iperf -u -c 172.19.16.97 -b 320000pps -l 100bit  -i 1 -p 3389

附录:iperf常用选项

 

命令行选项

描述

客户端与服务器共用选项

 

 

-f, --format [bkmaBKMA]

格式化带宽数输出。支持的格式有:'b' = bits/sec 'B' = Bytes/sec'k' = Kbits/sec 'K' = KBytes/sec'm' = Mbits/sec 'M' = MBytes/sec'g' = Gbits/sec 'G' = GBytes/sec'a' = adaptive bits/sec 'A' = adaptive Bytes/sec自适应格式是kilo-和mega-二者之一。除了带宽之外的字段都输出为字节,除非指定输出的格式,默认的参数是a。注意:在计算字节byte时,Kilo = 1024, Mega = 1024^2,Giga = 1024^3。通常,在网络中,Kilo = 1000, Mega = 1000^2, and Giga = 1000^3,所以,Iperf也按此来计算比特(位)。如果这些困扰了你,那么请使用-f b参数,然后亲自计算一下。

 

-i, --interval #

设置每次报告之间的时间间隔,单位为秒。如果设置为非零值,就会按照此时间间隔输出测试报告。默认值为零。

 

-l, --len #[KM]

设置读写缓冲区的长度。TCP方式默认为8KB,UDP方式默认为1470字节。

 

-m, --print_mss

输出TCP MSS值(通过TCP_MAXSEG支持)。MSS值一般比MTU值小40字节。通常情况

 

-p, --port #

设置端口,与服务器端的监听端口一致。默认是5001端口,与ttcp的一样。

 

-u, --udp

使用UDP方式而不是TCP方式。参看-b选项。

 

-w, --window #[KM]

设置套接字缓冲区为指定大小。对于TCP方式,此设置为TCP窗口大小。对于UDP方式,此设置为接受UDP数据包的缓冲区大小,限制可以接受数据包的最大值。

 

-B, --bindhost

绑定到主机的多个地址中的一个。对于客户端来说,这个参数设置了出栈接口。对于服务器端来说,这个参数设置入栈接口。这个参数只用于具有多网络接口的主机。在Iperf的UDP模式下,此参数用于绑定和加入一个多播组。使用范围在224.0.0.0至239.255.255.255的多播地址。参考-T参数。

 

-C, --compatibility

与低版本的Iperf使用时,可以使用兼容模式。不需要两端同时使用兼容模式,但是强烈推荐两端同时使用兼容模式。某些情况下,使用某些数据流可以引起1.7版本的服务器端崩溃或引起非预期的连接尝试。

 

-M, --mss #[KM}

通过TCP_MAXSEG选项尝试设置TCP最大信息段的值。MSS值的大小通常是TCP/ip头减去40字节。在以太网中,MSS值 为1460字节(MTU1500字节)。许多操作系统不支持此选项。

 

-N, --nodelay

设置TCP无延迟选项,禁用Nagle's运算法则。通常情况此选项对于交互程序,例如telnet,是禁用的。

 

-V (from v1.6 or higher)

绑定一个IPv6地址。服务端:$ iperf -s –V客户端:$ iperf -c <Server IPv6 Address> -V注意:在1.6.3或更高版本中,指定IPv6地址不需要使用-B参数绑定,在1.6之前的版本则需要。在大多数操作系统中,将响应IPv4客户端映射的IPv4地址。

 

服务器端专用选项

 

 

-s, --server

Iperf服务器模式

 

-D (v1.2或更高版本)

Unix平台下Iperf作为后台守护进程运行。在Win32平台下,Iperf将作为服务运行。

 

-R(v1.2或更高版本,仅用于Windows)

卸载Iperf服务(如果它在运行)。

 

-o(v1.2或更高版本,仅用于Windows)

重定向输出到指定文件

 

-c, --client host

如果Iperf运行在服务器模式,并且用-c参数指定一个主机,那么Iperf将只接受指定主机的连接。此参数不能工作于UDP模式。

 

-P, --parallel #

服务器关闭之前保持的连接数。默认是0,这意味着永远接受连接。

 

客户端专用选项

 

 

-b, --bandwidth #[KM]

UDP模式使用的带宽,单位bits/sec。此选项与-u选项相关。默认值是1 Mbit/sec。

 

-c, --client host

运行Iperf的客户端模式,连接到指定的Iperf服务器端。

 

-d, --dualtest

运行双测试模式。这将使服务器端反向连接到客户端,使用-L 参数中指定的端口(或默认使用客户端连接到服务器端的端口)。这些在操作的同时就立即完成了。如果你想要一个交互的测试,请尝试-r参数。

 

-n, --num #[KM]

传送的缓冲器数量。通常情况,Iperf按照10秒钟发送数据。-n参数跨越此限制,按照指定次数发送指定长度的数据,而不论该操作耗费多少时间。参考-l与-t选项。

 

-r, --tradeoff

往复测试模式。当客户端到服务器端的测试结束时,服务器端通过-l选项指定的端口(或默认为客户端连接到服务器端的端口),反向连接至客户端。当客户端连接终止时,反向连接随即开始。如果需要同时进行双向测试,请尝试-d参数。

 

-t, --time #

设置传输的总时间。Iperf在指定的时间内,重复的发送指定长度的数据包。默认是10秒钟。参考-l与-n选项。

 

-L, --listenport #

指定服务端反向连接到客户端时使用的端口。默认使用客户端连接至服务端的端口。

 

-P, --parallel #

线程数。指定客户端与服务端之间使用的线程数。默认是1线程。需要客户端与服务器端同时使用此参数。

 

-S, --tos #

出栈数据包的服务类型。许多路由器忽略TOS字段。你可以指定这个值,使用以"0x"开始的16进制数,或以"0"开始的8进制数或10进制数。例如,16进制'0x10' = 8进制'020' = 十进制'16'。TOS值1349就是:IPTOS_LOWDELAY minimize delay 0x10IPTOS_THROUGHPUT maximize throughput 0x08IPTOS_RELIABILITY maximize reliability 0x04IPTOS_LOWCOST minimize cost 0x02

 

-T, --ttl #

出栈多播数据包的TTL值。这本质上就是数据通过路由器的跳数。默认是1,链接本地。

 

-F (from v1.2 or higher)

使用特定的数据流测量带宽,例如指定的文件。$ iperf -c <server address> -F <file-name>

 

-I (from v1.2 or higher)

与-F一样,由标准输入输出文件输入数据。

 

杂项

 

 

-h, --help

显示命令行参考并退出 。

 

-v, --version

显示版本信息和编译信息并退出。

 
     

标签:iperf3,UDP,--,网络,带宽,测试,测试工具,iperf,客户端
From: https://www.cnblogs.com/santia-god/p/17965500

相关文章

  • 网络-华为、思科交换机配置TFTP自动备份、NTP时间同步、SYSLOG日志同步
    配置使用TFTP进行交换机配置的自动保存华为设备<Huawei-sw>sys[Huawei-sw]setsave-configurationinterval60delay3cpu-limit60[Huawei-sw]setsave-configurationbackup-to-serverserver<TFTP服务器IP>transport-typetftppath\Huawei-sw.zip[Huawei-sw]quit<H......
  • Tessy—嵌入式软件单元测试/集成测试工具
    产品概述    Tessy源自戴姆勒—奔驰公司的软件技术实验室,由德国Hitex公司负责销售及技术的支持服务,是一款专门针对嵌入式软件进行单元/集成测试的工具。它可以对C/C++代码进行单元、集成测试,可以自动化搭建测试环境、执行测试、评估测试结果并生成测试报告,其多样化的测试......
  • windows映射网络驱动器,如何更换用户名?
    由于我的两台电脑用户名一样,所以直接不用做任何修改,用自己这台电脑的默认用户名就行。但是我为了安全,我想新建一个专门用来远程访问的普通用户,可是我发现无论如何都连不上,今天终于解决了,记录一下。首先,本地电脑在windows凭据管理器中删除windows凭据,然后在注册表中搜索远程IP,把......
  • 2023安洵杯第六届网络安全挑战赛 Misc
    签到Nahida打开压缩包得到2个文件用010打开发现ffd8ffe0的关键字眼被倒转了,使用工具进行恢复得到一大串爆破的逆转在reverse_2_Nahida!处为jpg添加后缀reverse_2_Nahida!.jpg我们得到图片在FFD9处发现还有其他东西导出进行查看得到txt根据提示应该是一个为......
  • 神经网络优化篇:理解指数加权平均数(Understanding exponentially weighted averages)
    理解指数加权平均数回忆一下这个计算指数加权平均数的关键方程。\({{v}_{t}}=\beta{{v}_{t-1}}+(1-\beta){{\theta}_{t}}\)\(\beta=0.9\)的时候,得到的结果是红线,如果它更接近于1,比如0.98,结果就是绿线,如果\(\beta\)小一点,如果是0.5,结果就是黄线。进一步地分析,来理解如何计......
  • android系统的常用测试工具
    常用的Android测试工具有:1.AndroidStudio:Android开发集成环境,提供了丰富的测试工具和调试功能,包括模拟器、调试器、性能分析器等。2.Espresso:Android官方推荐的UI自动化测试框架,可以方便地编写和执行UI测试用例。3.UIAutomator:Android官方提供的UI自动化测试框架,可以用于跨应......
  • 软件定义网络是什么
    软件定义网络(Software-DefinedNetworking,SDN)是一种网络架构和设计思想,旨在通过软件化和集中式的网络控制,实现对网络设备的灵活控制和管理。传统的网络架构中,网络控制器和数据转发设备通常是集成在网络设备中的,SDN将这两者进行了解耦,使网络更具灵活性和可编程性。SDN的核心思想包括......
  • 网络地图服务(WMS)详解
    目录1.概述2.GetCapabilities3.GetMap4.GetFeatureInfo阅读本文之前可参考前文:《地图服务器GeoServer的安装与配置》与《GeoServer发布地图服务(WMS、WFS)》。1.概述经过前文的介绍,相信我们对WMS/WFS服务已经有了一个非常直观的认识,最起码我们知道了地图服务的数据从何而来,又是......
  • APUE-网络socket通信
    网络通信​ 大部分网络应用系统可分为两部分:客户(Client)和服务器(Server),网路服务程序架构又两种:CS模式和BS模式。CS:Client/Server(客户机/服务器)结构,特点:交互性强,具有安全的存取模式,网络通信量低,响应速度快,利于处理大量数据。BS:Browser/Server(浏览器/服务器)结构,特点:分布性强,维护......
  • 利用PowerShell修改网络配置
    title:利用PowerShell修改网络配置date:2022-03-30categories:编程tags:-PowerShell-网络-Windows前言修改IP、网关、子网掩码、DNS等配置时需要打开网络配置器配置,有些麻烦。尤其是经常需要重复性操作时(例如去学校图书馆蹭网)。用PowerShell脚本自动修改,方便简单而......