精华内容
下载资源
问答
  • 之前写了一篇 Linux下使用nping测试TCP\UDP延迟,测试方式不够审慎,因而补充一篇使用ipref来测试TCP\UDP的传输指标。兀自是在CentOS 7下进行测试   部署 服务端与客户端均需要部署iperf,CentOS 7下部署Iperf...

    之前写了一篇 Linux下使用nping测试TCP\UDP延迟,测试方式不够审慎,因而补充一篇使用ipref来测试TCP\UDP的传输指标。兀自是在CentOS 7下进行测试


     

    部署

    服务端与客户端均需要部署iperf,CentOS 7下部署Iperf:https://bugxia.com/256.html


     

    TCP

    服务端(参数说明:-s 服务器, -i 距离时间,-e 显现more信息)

    iperf -s -i 1 -e



     

    客户端(参数:-c 客户端)

    iperf -c 服务器IP



     

    此刻服务端显现的信息:


     

    UDP

    服务端(参数说明:-s 服务器, -u UDP,-i 距离时间,-e 显现more信息)

    iperf -s -u -i 1 -e



     

    客户端(参数说明:-c 客户端,-u UDP,-b 传输带宽)

    iperf -c 服务器IP -u -b 10m

     

    原文链接:https://vps.fubi.hk/foreshadowingvps/zhishiku/20181025/6223.html

    展开全文
  • ipref2.0网络测试工具

    2008-12-17 22:01:38
    网络带宽测试工具,可以同时作为服务器和客户端使用。
  • 测试EMBEDDED LINUX的网路效能与稳定度的工具,包含PC端执行码与CLIENT端的LIUNX 源代码
  • 嵌入式 ipref详解一

    千次阅读 2014-01-26 11:07:51
    Iperf使用说明 Iperf 是一个 TCP/IP 和 UDP/IP 的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。...

    Iperf使用说明

    Iperf 是一个 TCP/IP 和 UDP/IP 的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。
    参数说明
    -s 以server模式启动,eg:iperf -s
    -c host以client模式启动,host是server端地址,eg:iperf-c 222.35.11.23
    通用参数
    -f [k|m|K|M] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 222.35.11.23 -f K
    -i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2
    -l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16
    -m 显示tcp最大mtu值
    -o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -oc:\iperflog.txt
    -p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c222.35.11.23 -p 9999
    -u 使用udp协议
    -w 指定TCP窗口大小,默认是8KB
    -B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
    -C 兼容旧版本(当server端和client端版本不一样时使用)
    -M 设定TCP数据包的最大mtu值
    -N 设定TCP不延时
    -V 传输ipv6数据包

    server专用参数
    -D 以服务方式运行ipserf,eg:iperf -s -D
    -R 停止iperf服务,针对-D,eg:iperf -s -R

    client端专用参数
    -d 同时进行双向传输测试
    -n 指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000
    -r 单独进行双向传输测试
    -t 测试时间,默认10秒,eg:iperf -c222.35.11.23 -t 5
    -F 指定需要传输的文件
    -T 指定ttl值

     

     

    Iperf使用方法与参数说明

                                  (2009-04-06 16:35:14)

    转载

     

     

    var $tag='网络带宽,测试,iperf,使用命令,it'; var $tag_code='916cb0968cbdd4c9cf22e3a8b520f83b'; var $r_quote_bligid='49ab2ae20100cnig';  标签:

     

    网络带宽

     

    测试

     

    iperf

     

    使用命令

     

    it

     
     

    分类:计算机

     

     

    Iperf是一个网络性能测试工具。可以测试TCPUDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。Iperflinuxwindows平台均有二进制版本供自由使用。

     

    Iperf was developed by NLANRDAST as a modern alternative formeasuring maximum TCP and UDP bandwidth performance. Iperf allows the tuning ofvarious parameters and UDP characteristics. Iperf reports bandwidth, delayjitter, datagram loss. 

     

    Iperf使用方法与参数说明

     

    参数说明

    -s server模式启动,egiperf -s

    -c hostclient模式启动,hostserver端地址,egiperf -c 222.35.11.23

     

    通用参数

    -f [kmKM] 分别表示以Kbits, Mbits,KBytes, MBytes显示报告,默认以Mbits为单位,egiperf -c 222.35.11.23 -f K

    -i sec 以秒为单位显示报告间隔,egiperf -c 222.35.11.23 -i 2

    -l 缓冲区大小,默认是8KB,egiperf -c 222.35.11.23 -l 16

    -m 显示tcp最大mtu

    -o 将报告和错误信息输出到文件egiperf -c 222.35.11.23 -o ciperflog.txt

    -p 指定服务器端使用的端口或客户端所连接的端口egiperf -s -p 9999;iperf -c 222.35.11.23 -p 9999

    -u 使用udp协议

    -w 指定TCP窗口大小,默认是8KB

    -B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)

    -C 兼容旧版本(当server端和client端版本不一样时使用)

    -M 设定TCP数据包的最大mtu

    -N 设定TCP不延时

    -V 传输ipv6数据包

     

    server专用参数

    -D 以服务方式运行iperfegiperf -s -D

    -R 停止iperf服务,针对-Degiperf -s -R

     

    client端专用参数

    -d 同时进行双向传输测试

    -n 指定传输的字节数,egiperf -c 222.35.11.23 -n 100000

    -r 单独进行双向传输测试

    -t 测试时间,默认10,egiperf -c 222.35.11.23 -t 5

    -F 指定需要传输的文件

    -T 指定ttl

     

    应用实例

    使用 iperf -s 命令将 Iperf 启动为 server 模式,在客户机上使用 iperf -c启动client模式。

    iperf –s

    ------------------------------------------------------------

    Server listening on TCP port 5001

    TCP window size: 8.00 KByte (default)

    ------------------------------------------------------------

     

    iperf -c 59.128.103.56

    上面使用服务端和客户端的默认设置进行测试

     

    iperf -s -w 300K

    ------------------------------------------------------------

    Server listening on TCP port 5001

    TCP window size:  300 KByte

    ------------------------------------------------------------

     

    iperf -c 59.128.103.56 -f K -i 2 -w 300K

           设定报告间隔为2秒,服务器端和客户端的TCP窗口都开到300KB

     

    iperf -c 59.128.103.56 -f K -i 2 -w 300K –n 1000000

    测试传输约1MB数据

     

    iperf -c 59.128.103.56 -f K -i 2 -w 300K –t 36

    测试持续36

     

    iperf -c 59.128.103.56 -f K -i 2 -w 300K -n 10400000 –d

    测试双向的传输

     

    iperf -c 59.128.103.56 -f K -i 2 -w 300K –u

    UDP测试

     

    其中 -i 参数的含义是周期性报告的时间间隔(interval),单位为秒;在上面的例子中,表示每隔2秒报告一次带宽等信息。

     

    启动一个iperf服务器进程

      首先要介绍的命令用来启动iperf服务器监听进程以便监听客户端连接的。命令如下:

    iperf.exe -s -P 2-i 5 -p 5999 -f k

      这个命令会启动iperf,后续参数用来设定监听5999 端口(默认端口是5001), 限定iperf只允许两个连接,每5秒汇报一次连接情况。连接限制参数(-P参数)非常重要,当两个连接建立后,服务器进程就会退出。如果这个参数设定为0,那么iperf 进程将持续监听端口,并且不限制连接数量。在 Windows主机上键入该命令,会显示出如图A所示界面

       A

     

    启动一个iperf 客户端连接

    iperf 的另一半就是客户端,用来连接到服务器监听端口。比如我们要连接到一台叫做 s-network1.amcs.tld 的服务器,端口为5999,连接60 秒并且每5秒显示一次状态,命令行如下:

    iperf.exe -cs-network1.amcs.tld -P 1 -i 5 -p 5999 -f B -t 60 -T 1

      命令启动后,s-network1 主机被用来进行网络性能检测。与Jperf GUI 界面提供的漂亮图形不同, iperf只会根据测量参数简单的报告网络带宽状况,在本例中是以比特为单位(-f 参数)进行带宽表示的。图B显示了远程客户端与s-network1主机间的带宽性能。

       B

     

      为了应对日常便捷应用的需求,我们可以建立一个 .bat批处理文件,届时填入服务器名称即可实现快速检测。以下为实际使用的拷屏:

    C:\jperf\jperf\bin>iperf
    Usage: iperf [-s|-c host] [options]
    Try `iperf --help' for more information.

    C:\jperf\jperf\bin>iperf--help
    Usage: iperf [-s|-c host] [options]
           iperf [-h|--help] [-v|--version]

    Client/Server:
      -f, --format    [kmKM]   format to report:Kbits, Mbits, KBytes, MBytes
      -i, --interval  #        secondsbetween periodic bandwidth reports
      -l, --len       #[KM]   length of buffer to read or write (default 8 KB)
      -m, --print_mss         print TCP maximum segment size (MTU - TCP/IP header)
      -o, --output    <filename> output the report orerror message to this specified file
      -p, --port     #        server port to listen on/connect to
      -u,--udp               use UDP rather than TCP
      -w, --window    #[KM]    TCP window size(socket buffer size)
      -B, --bind      <host>   bindto <host>, an interface or multicast address
      -C, --compatibility      for use with olderversions does not sent extra msgs
      -M, --mss      #        set TCP maximum segment size (MTU -40 bytes)
      -N,--nodelay            setTCP no delay, disabling Nagle's Algorithm
      -V, --IPv6Version        Set thedomain to IPv6

    Server specific:
      -s,--server            run in server mode
      -D,--daemon            run the server as a daemon
      -R,--remove            remove service in win32

    Client specific:
      -b, --bandwidth #[KM]    for UDP, bandwidth to send at inbits/sec
                              (default 1 Mbit/sec, implies -u)
      -c, --client    <host>   run in clientmode, connecting to <host>
      -d,--dualtest           Do abidirectional test simultaneously
      -n, --num       #[KM]   number of bytes to transmit (instead of -t)
      -r,--tradeoff           Do abidirectional test individually
      -t, --time     #        time in seconds to transmit for(default 10 secs)
      -F, --fileinput <name>   input the data to betransmitted from a file
      -I, --stdin             input the data to be transmitted from stdin
      -L, --listenport #       port to recievebidirectional tests back on
      -P, --parallel  #        numberof parallel client threads to run
      -T, --ttl      #        time-to-live, for multicast (default1)

    Miscellaneous:
      -h,--help              print this message and quit
      -v,--version           print version information and quit

    [KM] Indicates options thatsupport a K or M suffix for kilo- or mega-

    The TCP window size option canbe set by the environment variable
    TCP_WINDOW_SIZE. Most other options can be set by an environment variable
    IPERF_<long option name>, such as IPERF_BANDWIDTH.

     

     

     

    使用测试工具iPerf监控无线网络性能

    (2009-04-06 17:20:49)

    转载

     

     

    var $tag='iperf,测试,使用命令,网络带宽,流量,wifi,it'; var $tag_code='4da46c57f2842cf0f47472f843c1818e'; var $r_quote_bligid='49ab2ae20100cnik'; var $worldcup='0'; var $worldcupball='0';  标签:

     

    iperf

     

    测试

     

    使用命令

     

    网络带宽

     

    流量

     

    wifi

     

    it

     
     

    分类:无线宽带接入

     

     

    很多公司都在将自己的无线网络升级到802.11n,以实现更大的吞吐量、更广的覆盖范围和更高的可靠性,然而保证无线LANWLAN)的性能对于确保足够的网络容量和覆盖率尤为重要。下面,我们将探讨如何通过iPerf来测定网络性能,这是一个简单易用测量TCP/UDP的吞吐量、损耗和延迟的工具。

        应用前的准备

        iPerf是专门用于简化TCP性能优化的工具,使用它可以很容易地测量吞吐量和带宽的最大值。当与UDP一起使用时,iPerf还可以测量数据丢失和延迟(抖动)。iPerf可以在任何IP 网络上运行,包括本地以太网,因特网接入连接和Wi-Fi网络。

        使用iPerf之前,必须安装两个组件:iPerf 服务器(用于监听到达的测试请求)和iPerf客户端(用于发起测试会话)。iPerf可通过开放源代码或可执行二进制方式获取,它支持许多操作系统平台,包括Win32LinuxFreeBSDMacOS XOpenBSDSolaris。你可以在NLANR下载iPerfWin32安装程序,而Java GUI版本(JPerf)则可以从SourceForge下载

        为了测量Wi-Fi性能,你可能需要在所测试的接入点(AP)的以太网主机上游位置上安装iPerf——这个也就是你的测试服务器。接着,在一个或更多的Wi-Fi笔记本上安装iPerf——这些将是你的测试客户端。这个就是典型的Wi-Fi客户端与有线服务器之间的应用网络。如果你的目的是测量AP性能,那么可以把iPerf服务器与AP放置在相同LAN上,并通过高速或超高速以太网连接。如果你的目的是清除瓶颈问题,那么可以将iPerf服务器要与实际的应用服务器放置在相同位置,这样就会有一个可比较的网络通道。

        另外,iPerf 服务器和客户端可以同时安装在Wi-Fi笔记本上的。当你要在无线客户端上支持视频或语音通信,那么这对于测量客户端到客户端性能是有帮助的。同样,要确保iPerf流量能够穿越你要测试的整个网络通道。比如,如果你要在相邻位置的Wi-Fi客户端上测量性能的最佳值,你必须把你的iPerf客户端和服务器接入到相同的AP上。如果你想要观察穿越上流交换机或WAN路由是如何影响网络性能的,那么可以把你的iPerf服务器接入到一个中央AP上,并且将iPerf客户端与在不同的地点的AP连接。

    使用测试工具iPerf监控无线网络性能:运行iPerf

        运行iPerf

        在默认的情况下,iPerf客户端与指定的监听5001端口的iPerf服务器建立一个TCP会话。比如,在命令提示符上执行命令:iperf –s,打开iPerf服务器;然后打开另一个窗口来启动你的iPerf客户端:

      

       上面命令是你可以用来测量通过某个计算机回环地址(127.0.0.1)吞吐量。如果执行失败,那么这就表示你没有正确的安装iPerf。默认的情况下,iPerf运行一个10秒钟的测试,测量所传输的字节总数(如270兆字节)和相应的带宽使用估计(如226兆比特每秒)。测试长度可以通过指定时间参数(-t seconds)或缓冲参数(-n buffers)控制。而且,你还可以在指定时间间隔(-i seconds)中看到测试的结果。

       

     

        如果要长时间地运行多个的测试,你应该更愿意将iPerf服务器作为后台程序运行,并将服务器输出写入一个日志文件中。在Win32平台上,它可以通过把iPerf作为服务(iPerf --s --D --o logfile.txt)安装来实现。如果你测试的流量将要通过网络防火墙,那么要确保打开端口5001或指定iPerf使用已经开放的端口(如,iPerf --c--p 80)。如果你的iPerf服务器处于NAT防火墙之后,那么你可能需要配置一个端口转发规则来进行连接(这种情况在服务器到客户端流量的双向测试中也一样适用)。最后,要禁用你的iPerf客户端和服务器上的任何个人防火墙。当客户端能够到达服务器时,你就可以开始测量网络性能了。

    测量TCP吞吐量

        为了确定最大TCP吞吐量,iPerf尝试从客户端尽可能快地向服务器上发送数据。默认时数据是以8KB大小缓冲发送的,这也是通过操作系统的默认的TCP窗口大小值。为了模拟特定TCP应用,你可以指定你的iPerf客户端从一个特定的文件(-F 文件名)或交互式输入(-I)来发送数据。比如:

     

       如果你没有指定发送方式,iPerf客户端只会使用一个单一的线程。而你可以修改为使用多个并行线程(-P数目)来发送数据。在测试Wi-Fi时,在同一台笔记本上的多线程可能会略微增加整体的吞吐量。

       

       n a single laptop are still sharing time on one Wi-Fi adapter.
       
    但是,有时你将需要使用多台拥有各自Wi-Fi适配器的笔记本来模拟几个不同位置用户体验的性能。这是因为在同一个笔记本上运行的多线程仍然共享同一个Wi-Fi适配器上的占用时间。

        另外一方面,如果你的笔记本上拥有多个激活的适配器,你可以使用IP地址(-B IPAddress)将iPerf客户端绑定到一个适配器上。这个对于同时连接到EthernetWi-Fi3GWi-Fi)的多连接笔记本来说是相当重要的。

        iPerf原先是开发用来辅助TCP参数优化的,但在此我们不想深入研究TCP窗户尺度和最大段长度,因为这不是我们目前讨论的重点。然而,在测试高吞吐量AP时,你可能发现有必要对TCP参数进行调优,以便在每个iPerf 客户端上获得更大吞吐量——详细请阅读DrTCP

    使用测试工具iPerf监控无线网络性能:测量UDP丢包和延迟

        iPerf同样也可以用于测量UDP数据包吞吐量、丢包和延迟指标。与TCP测试不同的是,UDP测试不采取尽可能快地发送流量的方式。与之相对的是,iPerf尝试发送1 Mbps的流量,这个流量是打包在1470字节的UDP数据包中(成为以太网的一帧)。我们可以通过指定一个目标带宽参数来增加数据量,单位可以是Kbps Mbps-b #K --b #M)。举例如下:

       

       然而,上面的例子只说明了iPerf客户端能够以多快的速度传输数据。为了得到更多关于UDP发送的数据,我们必须查看服务器上的结果:

     

       这样,我们就可以看到吞吐量(间隔1秒测量的),以及丢包数(丢失的数据屯接收到的数据对比)和延迟(如jitter——在连续传输中的平滑平均值差)。延迟和丢失可以通过应用的改变而被兼容。比如,视频流媒体通过缓冲输入而能够容忍更多的延迟,而语音通讯则随着延迟增长性能下降明显。

        UDP测试可以通过改变报文缓冲长度进行优化,长度单位为Kbytes Mbytes-l #K or #M)。与以太网帧的1500比特的MTU(最大转换单位)不同的是,802.11数据帧可以达到2304比特(在加密之前)。

        但是,如果你正在测试的路径中包括Ethernet802.11,那么要控制你的测试数据包长度,使它在一个Ethernet帧以内,以避免分片。

        另一个有趣的iPerf UDP测试选项是服务类型(Type ofService ToS),它的大小范围从0x10 (最小延迟) 0x2 (最少费用)。在使用802.11e来控制服务质量的WLAN中,ToS是映射在Wi-Fi多媒体(WMM)存取范畴的。

        对比两种方式

        802.11a/b/g网络中,无线电的传输性能变化在在两个方向上都很相似。比如,当距离导致数据传输率下降或干扰造成重要数据包丢失时,发送和接收的应用吞吐量都受到影响。

        802.11n网络中,MIMO天线和多维空间流使问题又有所不同。从笔记本发送到AP上的数据帧可能(有意地)使用一个完全与从AP发送到笔记本上帧时不同的空间路径。这样的结果是,现在对两个方向的测试都很重要的。幸运的是,iPerf本身就已经拥有这个功能,这是由两个选项所控制的:

         --d选项是用于告诉iPerf服务器马上连接回iPerf客户端的由--L 所指定端口,以支持同时测试两个方向的传输。

         --r选项虽然有些类似,但是它是告诉iPerf服务器等到客户端测试完成后再在相反的方向中重复之前的测试。

        最后,如果你需要支持多点传送应用,那么可以使用-B选项指定多点传送组IP地址来启动多个iPerf服务器。然后再打开你的iPerf客户端,连接之前启动的多点传送组iPerf服务器。

    使用测试工具iPerf监控无线网络性能:图形化测试结果

        如本文介绍的,iPerf程序可以在命令行下运行,它或者也在一个名为JPerfJava实现前端工具上运行。JPerf不仅能简化复杂命令行参数的构造,而且它还保存测试结果——同时实时图形化显示结果。

       

    1 使用JPerf运行iPerf

       事实上,iPerf测试工具被嵌入到一些其它的网络流量分析工具中——包括底层LAN分析工具,如AirMagnet。比如,在下面的屏幕截图中显示了一个Wi-Fi笔记本上运行的AirMagnet作为iPerf客户端与安装在有线网络上的常规iPerf服务器进行交互的情况。

      

    2 使用AirMagnet运行iPerf

       总结

        正如我们所看到的,iPerf简化了对基于TCP数据流应用和UDP数据包应用的端对端性能测定。然而,iPerf仍然无法模拟所有类型的应用——比如,对于交互式上网的模拟就不是很好。同时,用于iPerf Wi-Fi测试的WLAN适配器也会影响你的测试——为了获得更好的测试结果,我们可以配置一个类似于实际用户的有代表性的适配器。

        尽管如此,iPerf仍然是一个非常方便的工具,它可以帮助你生成和检测WLAN应用流量。同时,因为iPerf可以方便以开源软件方式获取,因此使用它来在其它位置重复创建测试环境是一个很好的方法——如分公司、供应商技术支持等等。想要了解更多关于iPerf的信息,可以阅读NLANR上的更老的文件或者浏览SourceForge上新的项目页面。

     

     

    展开全文
  • 一、iperf工具安装 ... 选择对应系统的版本就是解压安装了 ...问题原因:Linux系统中找不到libiperf.so.0 库文件,导致执行iperf3 –s时提示缺少相关lib库解决方法:通过find /usr/local/lib/ |grep i...

    一、iperf工具安装

    源码包下载地址:https://iperf.fr/iperf-download.php#archlinux

    选择对应系统的版本就是解压安装了

    完成

    测试发现有问题

    问题原因:
    Linux系统中找不到libiperf.so.0 库文件,导致执行iperf3 –s时提示缺少相关lib库
    解决方法:
    通过find /usr/local/lib/ |grep iperf查找其他服务器上是否存在该lib库文件,查询到后拷贝libiperf.so.0库文件到此台服务器/usr/local/lib/目录下

    发现还是有问题,最后发现是环境变量的问题

    添加

    然后就可以使用了

    二、iperf工具使用方法:

    参数说明
    -s 以server模式启动,eg:iperf -s
    -c host以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23

    通用参数
    -f [kmKM] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 222.35.11.23 -f K
    -i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2
    -l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16
    -m 显示tcp最大mtu值
    -o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o ciperflog.txt
    -p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999
    -u 使用udp协议
    -w 指定TCP窗口大小,默认是8KB
    -B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
    -C 兼容旧版本(当server端和client端版本不一样时使用)
    -M 设定TCP数据包的最大mtu值
    -N 设定TCP不延时
    -V 传输ipv6数据包

     例子:

    服务端:

    服务器端命令行(其中,-s表示服务器端;-p定义端口号;-i设置每次报告之间的时间间隔,单位为秒,如果设置为非零值,就会按照此时间间隔输出测试报告,默认值为零):#iperf3 -s -p 8080 -i 3 

     

    客户端:

    客户端命令行(其中,-c表示服务器的IP地址;-p表示服务器的端口号;-i设置每次报告之间的时间间隔,单位为秒,如果设置为非零值,就会按照此时间间隔输出测试报告,默认值为零;-t设置传输的总时间,Iperf在指定的时间内,重复的发送指定长度的数据包,默认是10秒钟;-w设置套接字缓冲区为指定大小,对于TCP方式,此设置为TCP窗口大小,对于UDP方式,此设置为接受UDP数据包的缓冲区大小,限制可以接受数据包的最大值):
    #iperf3 -c 172.17.253.225 -p 8080 -i 3 -t 10 -w  100k

     

     

    转载于:https://www.cnblogs.com/52py/p/10778302.html

    展开全文
  • 1、首先看一下iperf的参数: 命令行选项 环境变量选项 描述 客户端与服务器端选项     -f, --format [bkmaBKMA] $IPERF_FORMAT 格式化带宽数输出。支持的格式有: ...'k' = Kbi

    1、首先看一下iperf的参数:

    root@u12d32:/qy_work/a3518_v080_develop/a3518c_ko_hi/ko# iperf -h
    Usage: iperf [-s|-c host] [options]
           iperf [-h|--help] [-v|--version]

    命令行选项
    环境变量选项
    描述
    客户端与服务器端选项


    -f, --format [bkmaBKMA]
    $IPERF_FORMAT
    格式化带宽数输出。支持的格式有:
    '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 #
    $IPERF_INTERVAL
    设置每次报告之间的时间间隔,单位为秒。如果设置为非零值,就会按照此时间间隔输出测试报告。默认值为零。
    -l, --len #[KM]
    $IPERF_LEN
    设置读写缓冲区的长度。TCP方式默认为8KB,UDP方式默认为1470字节。
    -m, --print_mss
    $IPERF_PRINT_MSS
    输出TCP MSS值(通过TCP_MAXSEG支持)。MSS值一般比MTU值小40字节。通常情况
    -p, --port #
    $IPERF_PORT
    设置端口,与服务器端的监听端口一致。默认是5001端口,与ttcp的一样。
    -u, --udp
    $IPERF_UDP
    使用UDP方式而不是TCP方式。参看-b选项。
    -w, --window #[KM]
    $TCP_WINDOW_SIZE
    设置套接字缓冲区为指定大小。对于TCP方式,此设置为TCP窗口大小。对于UDP方式,此设置为接受UDP数据包的缓冲区大小,限制可以接受数据包的最大值。
    -B, --bind host
    $IPERF_BIND
    绑定到主机的多个地址中的一个。对于客户端来说,这个参数设置了出栈接口。对于服务器端来说,这个参数设置入栈接口。这个参数只用于具有多网络接口的主机。在Iperf的UDP模式下,此参数用于绑定和加入一个多播组。使用范围在224.0.0.0至239.255.255.255的多播地址。参考-T参数。
    -C, --compatibility
    $IPERF_COMPAT
    与低版本的Iperf使用时,可以使用兼容模式。不需要两端同时使用兼容模式,但是强烈推荐两端同时使用兼容模式。某些情况下,使用某些数据流可以引起1.7版本的服务器端崩溃或引起非预期的连接尝试。
    -M, --mss #[KM}
    $IPERF_MSS
    通过TCP_MAXSEG选项尝试设置TCP最大信息段的值。MSS值的大小通常是TCP/IP头减去40字节。在以太网中,MSS值 为1460字节(MTU1500字节)。许多操作系统不支持此选项。
    -N, --nodelay
    $IPERF_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_SERVER
    Iperf服务器模式
    -D (v1.2或更高版本)

    Unix平台下Iperf作为后台守护进程运行。在Win32平台下,Iperf将作为服务运行。
    -R(v1.2或更高版本,仅用于Windows)

    卸载Iperf服务(如果它在运行)。
    -o(v1.2或更高版本,仅用于Windows)

    重定向输出到指定文件
    -c, --client host
    $IPERF_CLIENT
    如果Iperf运行在服务器模式,并且用-c参数指定一个主机,那么Iperf将只接受指定主机的连接。此参数不能工作于UDP模式。
    -P, --parallel #
    $IPERF_PARALLEL
    服务器关闭之前保持的连接数。默认是0,这意味着永远接受连接。
    客户端专用选项


    -b, --bandwidth #[KM]
    $IPERF_BANDWIDTH
    UDP模式使用的带宽,单位bits/sec。此选项与-u选项相关。默认值是1 Mbit/sec。
    -c, --client host
    $IPERF_CLIENT
    运行Iperf的客户端模式,连接到指定的Iperf服务器端。
    -d, --dualtest
    $IPERF_DUALTEST
    运行双测试模式。这将使服务器端反向连接到客户端,使用-L 参数中指定的端口(或默认使用客户端连接到服务器端的端口)。这些在操作的同时就立即完成了。如果你想要一个交互的测试,请尝试-r参数。
    -n, --num #[KM]
    $IPERF_NUM
    传送的缓冲器数量。通常情况,Iperf按照10秒钟发送数据。-n参数跨越此限制,按照指定次数发送指定长度的数据,而不论该操作耗费多少时间。参考-l与-t选项。
    -r, --tradeoff
    $IPERF_TRADEOFF
    往复测试模式。当客户端到服务器端的测试结束时,服务器端通过-l选项指定的端口(或默认为客户端连接到服务器端的端口),反向连接至客户端。当客户端连接终止时,反向连接随即开始。如果需要同时进行双向测试,请尝试-d参数。
    -t, --time #
    $IPERF_TIME
    设置传输的总时间。Iperf在指定的时间内,重复的发送指定长度的数据包。默认是10秒钟。参考-l与-n选项。
    -L, --listenport #
    $IPERF_LISTENPORT
    指定服务端反向连接到客户端时使用的端口。默认使用客户端连接至服务端的端口。
    -P, --parallel #
    $IPERF_PARALLEL
    线程数。指定客户端与服务端之间使用的线程数。默认是1线程。需要客户端与服务器端同时使用此参数。
    -S, --tos #
    $IPERF_TOS
    出栈数据包的服务类型。许多路由器忽略TOS字段。你可以指定这个值,使用以“0x”开始的16进制数,或以“0”开始的8进制数或10进制数。
    例如,16进制'0x10' = 8进制'020' = 十进制'16'。TOS值1349就是:
    IPTOS_LOWDELAY minimize delay 0x10
    IPTOS_THROUGHPUT maximize throughput 0x08
    IPTOS_RELIABILITY maximize reliability 0x04
    IPTOS_LOWCOST minimize cost 0x02
    -T, --ttl #
    $IPERF_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

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

    Iperf是一个网络性能测试工具。可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。Iperf在linux和windows平台均有二进制版本供自由使用。

    Iperf was developed by NLANRDAST as a modern alternative for measuring maximum TCP and UDP bandwidth performance. Iperf allows the tuning of various parameters and UDP characteristics. Iperf reports bandwidth, delay jitter, datagram loss.

    Iperf使用方法与参数说明

    参数说明

    -s 以server模式启动,eg:iperf -s

    -c host以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23

    通用参数

    -f [kmKM] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 222.35.11.23 -f K

    -i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2

    -l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16

    -m 显示tcp最大mtu值

    -o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o ciperflog.txt

    -p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999

    -u 使用udp协议

    -w 指定TCP窗口大小,默认是8KB

    -B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)

    -C 兼容旧版本(当server端和client端版本不一样时使用)

    -M 设定TCP数据包的最大mtu值

    -N 设定TCP不延时

    -V 传输ipv6数据包

    server专用参数

    -D 以服务方式运行iperf,eg:iperf -s -D

    -R 停止iperf服务,针对-D,eg:iperf -s -R

    client端专用参数

    -d 同时进行双向传输测试

    -n 指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000

    -r 单独进行双向传输测试

    -t 测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5

    -F 指定需要传输的文件

    -T 指定ttl值

    应用实例

    使用 iperf -s 命令将 Iperf 启动为 server 模式,在客户机上使用 iperf -c启动client模式。

    iperf –s

    ------------------------------------------------------------

    Server listening on TCP port 5001

    TCP window size: 8.00 KByte (default)

    ------------------------------------------------------------

    iperf -c 59.128.103.56

    上面使用服务端和客户端的默认设置进行测试

    iperf -s -w 300K

    ------------------------------------------------------------

    Server listening on TCP port 5001

    TCP window size: 300 KByte

    ------------------------------------------------------------

    iperf -c 59.128.103.56 -f K -i 2 -w 300K

    设定报告间隔为2秒,服务器端和客户端的TCP窗口都开到300KB

    iperf -c 59.128.103.56 -f K -i 2 -w 300K –n 1000000

    测试传输约1MB数据

    iperf -c 59.128.103.56 -f K -i 2 -w 300K –t 36

    测试持续36秒

    iperf -c 59.128.103.56 -f K -i 2 -w 300K -n 10400000 –d

    测试双向的传输

    iperf -c 59.128.103.56 -f K -i 2 -w 300K –u

    UDP测试

    其中 -i 参数的含义是周期性报告的时间间隔(interval),单位为秒;在上面的例子中,表示每隔2秒报告一次带宽等信息。

    启动一个iperf服务器进程

      首先要介绍的命令用来启动iperf服务器监听进程以便监听客户端连接的。命令如下:

      iperf -s -P 2 -i 5 -p 5999 -f k

      这个命令会启动iperf,后续参数用来设定监听5999 端口(默认端口是5001), 限定iperf只允许两个连接,每5秒汇报一次连接情况。连接限制参数(-P参数)非常重要,当两个连接建立后,服务器进程就会退出。如果这个参数设定为0,那么iperf 进程将持续监听端口,并且不限制连接数量。在 Windows主机上键入该命令,会显示出如下所示界面:

    root@u12d32:/qy_work/a3518_v080_develop/a3518c_ko_hi/ko# iperf -s -P 2 -i 5 -p 5999 -f k
    ------------------------------------------------------------
    Server listening on TCP port 5999
    TCP window size: 85.3 KByte (default)
    ------------------------------------------------------------

      启动一个iperf 客户端连接

      iperf 的另一半就是客户端,用来连接到服务器监听端口。比如我们要连接到一台叫做 s-network1.amcs.tld 的服务器,端口为5999,连接60 秒并且每5秒显示一次状态,命令行如下:

      iperf -c 10.10.2.59 -P 1 -i 5 -p 5999 -f B -t 60 -T 1

      命令启动后,s-network1 主机被用来进行网络性能检测。与Jperf GUI 界面提供的漂亮图形不同, iperf只会根据测量参数简单的报告网络带宽状况,在本例中是以 比特为单位(-f 参数)进行带宽表示的。图B显示了远程客户端与s-network1主机间的带宽性能。

    root@u12d32:~# iperf -c 10.10.2.59 -P 1 -i 5 -p 5999 -f B -t 60 -T 1

    ------------------------------------------------------------
    Client connecting to 10.10.2.59, TCP port 5999
    TCP window size: 170840 Byte (default)
    ------------------------------------------------------------
    [  3] local 10.10.2.59 port 41823 connected with 10.10.2.59 port 5999
    [ ID] Interval       Transfer     Bandwidth
    [  3]  0.0- 5.0 sec  17222598656 Bytes  3444519731 Bytes/sec 
     


      为了应对日常便捷应用的需求,我们可以建立一个 .bat批处理文件,届时填入服务器名称即可实现快速检测。以下为实际使用的拷屏:

    C:\jperf\jperf\bin>iperf
    Usage: iperf [-s|-c host] [options]
    Try `iperf --help' for more information.

    C:\jperf\jperf\bin>iperf --help
    Usage: iperf [-s|-c host] [options]
    iperf [-h|--help] [-v|--version]

    Client/Server:
    -f, --format [kmKM] format to report: Kbits, Mbits, KBytes, MBytes
    -i, --interval # seconds between periodic bandwidth reports
    -l, --len #[KM] length of buffer to read or write (default 8 KB)
    -m, --print_mss print TCP maximum segment size (MTU - TCP/IP header)
    -o, --output <filename> output the report or error message to this specified file
    -p, --port # server port to listen on/connect to
    -u, --udp use UDP rather than TCP
    -w, --window #[KM] TCP window size (socket buffer size)
    -B, --bind <host> bind to <host>, an interface or multicast address
    -C, --compatibility for use with older versions does not sent extra msgs
    -M, --mss # set TCP maximum segment size (MTU - 40 bytes)
    -N, --nodelay set TCP no delay, disabling Nagle's Algorithm
    -V, --IPv6Version Set the domain to IPv6

    Server specific:
    -s, --server run in server mode
    -D, --daemon run the server as a daemon
    -R, --remove remove service in win32

    Client specific:
    -b, --bandwidth #[KM] for UDP, bandwidth to send at in bits/sec
    (default 1 Mbit/sec, implies -u)
    -c, --client <host> run in client mode, connecting to <host>
    -d, --dualtest Do a bidirectional test simultaneously
    -n, --num #[KM] number of bytes to transmit (instead of -t)
    -r, --tradeoff Do a bidirectional test individually
    -t, --time # time in seconds to transmit for (default 10 secs)
    -F, --fileinput <name> input the data to be transmitted from a file
    -I, --stdin input the data to be transmitted from stdin
    -L, --listenport # port to recieve bidirectional tests back on
    -P, --parallel # number of parallel client threads to run
    -T, --ttl # time-to-live, for multicast (default 1)

    Miscellaneous:
    -h, --help print this message and quit
    -v, --version print version information and quit

    [KM] Indicates options that support a K or M suffix for kilo- or mega-

    The TCP window size option can be set by the environment variable
    TCP_WINDOW_SIZE. Most other options can be set by an environment variable
    IPERF_<long option name>, such as IPERF_BANDWIDTH.


    1)TCP测试
    服务器执行:./iperf -s -i 1 -w 1M '这裏是指定windows如果是 iperf -s则windwos默认大小为8kbyte/s
    客户端执行:./iperf -c host -i 1 -w 1M
    其中-w表示TCP window size,host需替换成服务器地址。
    2)UDP测试
    服务器执行:./iperf -u -s
    客户端执行:./iperf -u -c 10.255.255.251 -b 900M -i 1 -w 1M -t 60
    其中-b表示使用多少带宽,1G的线路你可以使用900M进行测试。

    展开全文
  • 和Iperf>的安装及使用

    2018-08-27 17:59:00
    Ipref============================================================================= 【Ipref】下载地址:https://iperf.fr/iperf-download.php 我的电脑是WIN 64,具体可以根据自己的配置进行选择 【Iperf...
  • ESP32C3 WIFI 吞吐量测试

    2021-10-13 10:19:35
    准备工具: ubuntu18.04、ESP_IDF为4.3版本 乐鑫esp32c3mini开发板 路由器一台 测试步骤: ... 1....开始ipref测试(IP地址为虚拟机ifconfig显示出来的IP地址) iperf -u -c 192.168.134.12...
  • 手把手写C++服务器(11):手撕网络带宽测试工具TTCP

    多人点赞 热门讨论 2021-06-30 12:34:25
    前言:TTCP诞生于1984年,是Unix很流行的网络带宽测试工具,并从中衍生出了著名的网络测试工具Ipref。TTCP手撕的源代码量比较小,是网络编程入门的最佳练习demo。本篇文章参考陈硕的TTCP,进行学习分析。 目录 1、...
  • 1、安装ipref3: wgetwget https://iperf.fr/download/fedora/iperf3-3.1.3-1.fc24.x86_64.rpm rpm -ivhiperf3-3.1.3-1.fc24.x86_64.rpm 2、使用 TCP: 服务端:iperf3 -s 客户端:iperf3 -c 服务...
  • 由于缺少linux下socket的编程经验(后面会学习,写测试代码),加上系统有裁剪,怕...选择ipref2,工具可以在网上自行下载。在测试过程中,我下载linux,windowns,和android三个版本。 二、测试结果 三、遇到的问题 ...
  • Linux下查看两台机器之间速度

    千次阅读 2014-02-15 16:37:39
    1:A,B之间安装ipref 1)sudo apt-get install iperf 2.A上面运行  1) sudo ufw allow 5001/tcp 2) iperf -s 3.B运行: 1)iperf -c 192.168.168.238 -t 60
  • iperf 网络测速

    2016-09-02 15:03:00
    1) # ipref -g //这个最直观 2)Iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能。Iperf具有多种参数和UDP特性,可以根据需要调整。Iperf可以报告带宽,延迟抖动和数据包丢失 2、使用...
  • 前言 iPerf是一个网络性能测试工具。iPerf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。目前已经发布有Window,iOS,Android和Linux版本程序。...
  • Background 最近有个test case,需要在测试两台服务器的带宽/网络质量/吞吐量等指标.,这个时候就需要一个叫iperf的工具了,目前也就这个工具做的最好,其github版本以及3.7,但是windows打包版依然停留在2016的3.1.3把本...
  • Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数据包丢失。
  • iperf测试网络性能

    2017-08-07 10:40:51
    转载自:... UDP/IP 的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。...
  •  iPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);  CMyHttpEngineAppUi* pAppUi = GetCurAppUi(); #ifdef __WINS__  iPref.SetIapId(pAppUi->iCur_IAP_ID); #else  iPref.SetIapId(pAppUi-...
  • //进入安装目录 cd ../install //去除iperf3镜像调试信息 arm-linux-gnueabihf-strip bin/iperf3 //去除共享库的调试信息 arm-linux-gnueabihf-strip lib/libiperf.so....tar -zxvf ipref3-arm.tar.gz lib -C /usr/
  • Iperf for wince6

    2015-09-14 17:17:24
    This is a port to Windows CE of Iperf v1.7.0,由于原始版本都是evc编译的,我已经把它更新到vs2005版本。
  • 1 linux高级系统工具 pstack查看进程堆栈 pstack命令⽤来显示每个进程的调⽤栈。可以使⽤pstack来查看进程正在挂起的执⾏⽅法,也可以⽤来查 看进程... 3 性能测试 sysbench基准性能测试工具 ipref 服务器带宽测试工具
  • Iperf 是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数据包丢失。 ... iperf有个可以在windows使用的界面:htt
  • wireshark 和 ipref   正确安装 wireshark 正确安装 wireshark的方法是: $ sudo apt-get install wireshark $ sudo dpkg-reconfigure wireshark-common $ sudo usermod -a -G wireshark $USER $ sudo reboot 安装 ...
  • 原文:... ...   ...Iperf是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。 Iperf可以报告带宽,延迟抖动和数
  • Symbian开发小结

    2010-05-27 16:08:00
    1、获取IMSI号、手机版本等   ... CTelephony:GetSubscriberId() ...直接将类对象作为另外某个类的成员变量,而不是将该类对象指针作为类的成员...iPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt); ...
  • iPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt); iPref.SetIapId(IAPId); iPref.SetBearerSet(KCommDbBearerPSD); iPref.SetDirection(ECommDbConnectionDirectionOutgoing); TInt ret; if( ( ret = ...
  • ipref -c 192.168.1.101 -t 10 -i 1 -w 1M
  •  iPref = ntohs(iPref)  ' Step over the MX preference value (1 integer - 2 bytes)  iNdx = iNdx + 2    ' Have to step through the byte-stream, looking for 0xc0 or 192 (compression char)  Dim iNdx2...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 221
精华内容 88
关键字:

ipref