iperf工具测速
本文最后更新于1155天前,其中的信息可能已经有所发展或是发生改变。

1M-10M带宽的测速可采用HTTP下载、FTP下载以及iperf测速,对10M以上的带宽使用iperf测速。

下面介绍如何使用iperf2进行测速:

步骤一:下载iperf保存到本地C盘根目录下,并解压缩在当前目录下;

步骤二:点击“开始”->“运行”->输入“cmd”,回车进入命令行模式;

步骤三:在命令行模式下输入“cd”,进入c盘根目录;

步骤四:命令行模式输入“dir”,查看iperf文件夹是否存在,存在则输入“cd iperf”,进入iperf文件夹;

步骤五:在命令行模式下,输入“iperf -c 192.168.23.200 -r -w 5k -t 20 -i 5”。

注意:如果用户端,ping地址192.168.23.200延时比较大(>10ms),则修改上面命令参数-w,可以尝试下面的命令:

iperf -c 192.168.23.200 -r -w 50k -t 20 -i 5  (高带宽延时小的链路)

iperf -c 192.168.23.200 -r -w 300k -t 20 -i 5 (相对低带宽延时大的链路)

Iperf常用参数说明:

  • -c host    以客户端模式启动,host是数据源所在的服务器端地址,比如:iperf -c 222.35.11.23;
  • -i sec  以秒为单位显示报告间隔,比如:iperf -c 222.35.11.23 -i 2;
  • -u  使用UDP协议,发送UDP数据包,默认使用TCP连接;
  • -w  指定TCP窗口大小,默认是8KB,此参数比较重要,需要针对不同的带宽和时延进行调整
  • -t  测试时间长,默认10秒,比如:iperf -c 222.35.11.23 -t 5
  • -n  (一般配合UDP协议时使用)指定传输的字节数,比如:iperf -c 222.35.11.23 -n 100000
  • -P  (大写)指定同时进行的TCP/UDP连接数,对于高带宽测速,需要该参数建立多条TCP/UDP连接以测得更准确的速率
  • -s  以server模式启动,eg:iperf -s
  • -p  指定服务器端使用的端口或客户端所连接的端口

下行UDP灌包(从服务器向终端灌包)

服务器侧CMD窗口中启动如下命令:

  • iperf -c xx.xx.xx.xx -u -b 100m -p 6001 -t 9999

UE侧PC CMD窗口中启动如下命令:

  • iperf -s -u -p 6001

参数说明:

参数

说明

c xx.xx.xx.xx表示向xx.xx.xx.xx灌包(xx.xx.xx.xx为UE ip地址)
-u表示启动UDP灌包,如果是灌TCP则不需要-u这个参数
-b 100m表示指定灌包大小,这里表示灌100M的数据
-p 6001表示指定灌包的端口为6001,可根据需要更改
-t 99999表示指定灌99999秒,可根据需要修改灌包时长
-s表示启动iperf服务器

上行UDP灌包(从UE灌向服务器)

服务器侧CMD窗口中启动如下命令:

  • Iperf –s –u –p 6002

UE侧PC CMD窗口中启动如下命令:

  • Iperf –c xx.xx.xx.xx –u –b 100m –p 6002 –t 99999

参数说明:

参数

说明

c xx.xx.xx.xx表示向xx.xx.xx.xx灌包(xx.xx.xx.xx为服务器地址)

下行TCP灌包

服务器侧CMD窗口中启动如下命令:

  • Iperf –c xx.xx.xx.xx –p 6003 –w 512k –t 99999

UE侧PC CMD窗口中启动如下命令:

  • Iperf –s –w 512k–p 6003

参数说明:

参数

说明

c xx.xx.xx.xx表示向xx.xx.xx.xx灌包(xx.xx.xx.xx为UE ip地址)
-w指定TCP窗口大小
需要特别注意的是千万不要-b,否则就成为UDP灌包。

上行TCP灌包

服务器侧CMD窗口中启动如下命令:

  • Iperf –s –w 512k–p 6004

UE侧PC CMD窗口中启动如下命令:

  • Iperf –c xx.xx.xx.xx –p 6004 –w 512k –t 99999

参数说明:

参数

说明

c xx.xx.xx.xx表示向xx.xx.xx.xx灌包(xx.xx.xx.xx为服务器地址)
-w指定TCP窗口大小
需要特别注意的是千万不要-b,否则就成为UDP灌包。

IPERF其他命令参数说明

IPERF参数大全

公共选项参数
-f:format速率报告的格式:是采用Kbits, Mbits, Kbytes,还是MBytes
-i: interval周期性带宽报告的时间间隔。单位:秒
-l:len读写缓冲区的长度。对于TCP,默认:8KB;对于UDP,默认:1470B
-m:print_mss打印TCP最大段的大小(MTU - TCP/IP header)
-p:portIperf server监听的服务端口;或Iperf client连接的服务端口。

 

在Iperf server和Iperf client两边的端口必须是相同的。默认服务端口:5001

-u:UDP使用UDP进行测量
-w:window设置套接字缓冲区大小为指定的数值。对于TCP,本选项将设置TCP窗口大小;对于UDP,本选项是接收数据报文的缓冲,所以它被限制到最大的接收数据报文大小
-B:bind绑定到主机的一个接口或组播地址。对于Iperf client,本选项设置的是对外的接口;对于Iperf server,本选项设置的是进入的接口。本选项参数仅用于多宿主主机,它有多个网络接口
-C:compatibility兼容模式,允许和低版本的Iperf一起使用。兼容模式对于互用性并不是必需的,但是高度建议的。在某些案例里,当在使用典型的流(streaming)时,你可能会引起1.7版本的Iperf server冲突,或造成一些不希望发生的连接尝试
-M:mss通过TCP_MAXSEG选项,设置TCP最大段大小(Maximum Segment Size )。对于TCP/IP头部来说,MSS通常是MTU - 40 bytes;对于以太网,MSS是1640 bytes(1500 byte MTU)。在很多OSes里,本选项没有被执行
-N:no delay设置TCP为零时延选项,禁止Nagle算法。通常,对于像Telnet这样的交互式应用程序,此选项仅被禁止
-V绑定到一个IPv6地址。从V1.6或更高版本开始支持。其格式是:

Server 侧:$ iperf -s -VClient侧:$ iperf -c -V注意:在V1.6.3版本或更高版本,一个特定的IPv6地址并不需要用“-B”选项来绑定,V1.6以前的版本需要。同样,在大多数的OSes里,本选项的使用,也取决于使用IPv4映射地址的IPv4客户端

Iperf server特定选项参数
-s:serverIperf运行在server模式下
-D:daemon让server运行为守护神程序(Unix平台)。在Win32平台,服务是有效的,Iperf将作为一个服务运行。本选项从Iperf的V1.2或更高版本开始支持
-R:Remove删除Iperf服务(如果它正在运行)。本选项仅仅对于Windows有效,从Iperf的V1.2或更高版本开始支持
-o输出报告或错误信息到一个指定的文件里。(仅适用于windows。从Iperf的V1.2或更高版本开始支持)
-c:client host如果Iperf运行在server模式下,那么用“-c”指定一个主机将限制Iperf将要接受的指定主机的连接。本选项对UDP支持得不是很好
-P:parallel在关闭前被server处理的连接数目。默认:0(这意味着永久接受连接)
Iperf client特定选项参数
-b:bandwidth带宽。UDP的发送带宽, 单位:bits/sec。这暗示着使用“-u”选项。默认:1 Mbit/sec
-c:client host运行在client模式,连接到运行在主机上的Iperf server
(注意:-c后面一定要有host的IP地址,即格式是:-c 10.0.0.79。否则,命令执行失败。Host的IP地址指的是Iperf server端的IP地址)
-d:dualtest同时进行双向传输测试,运行Iperf在双向测试模式下。这将引起server在用“-L”选项指定的端口(或client连接到server所用的默认端口)上,重新连接回client。这是立即完成的,所以同时地运行测试。如果你想用单独的交互式测试,请尝试“-r”选项
-n:number要发送的字节数。单位:Kbyte/s,Mbyte/s。通常,Iperf发送数据的时间为10秒。“-n”选项改写了这个时间,它发送完指定大小的数据,而不管这个过程花费了多长时间。请参考“-l”、“-t”选项
-r:tradeoff单独进行双向传输测试,运行Iperf在折衷测试(tradeoff testing)模式下。这将引起server在用“-L”选项指定的端口(或client连接到server所用的默认端口)上,重新连接回client。随着client连接的终止,这个过程就完成了,所以单独地运行测试。如果你想用同时的测试,请尝试“-d”选项
-t:time传送数据的测试时间。单位:秒。默认:10秒。当与“–n”参数同时使用时,以“ -n ”选项为准。即设置的测试时间失效。请参考“-l”、“-n”选项
-L:listenport本选项指定一个监听端口,server从这个端口连接回client。默认的监听端口是client连接server所使用的端口
-P:parallel并行运行的client数目。默认值:1。需要client和server之间的线程支持
-S:tos发出的数据包的服务类型。(很多路由器忽略TOS域)。你可以用十六进制“0x”为前缀,以八进制“0”为前缀,或以十进制为前缀。例如,(0x10)16=(020)8=(16)10。  

在RFC 1349里,对TOS的定义如下:


IPTOS_LOWDELAY:最小时延    0x10
IPTOS_THROUGHPUT:最大吞吐量   0x08
IPTOS_RELIABILITY:最大可靠性  0x04
IPTOS_LOWCOST:最小成本   0x02

-T:TTL发出的组播包的存活期(time-to-live)。这是报文穿越路由器跳数的基本数字。默认值:1
-F:fileinput

 

 

使用一个典型的流(stream)来测量带宽。从Iperf的V1.2或更高版本开始支持。例如:

 $ iperf -c -F

点击数:175

    评论

    1. mondayice
      博主
      Windows Edge 89.0.774.63
      3年前
      2021-3-28 16:45:40

      记录

    发送评论 编辑评论

    
    				
    |´・ω・)ノ
    ヾ(≧∇≦*)ゝ
    (☆ω☆)
    (╯‵□′)╯︵┴─┴
     ̄﹃ ̄
    (/ω\)
    ∠( ᐛ 」∠)_
    (๑•̀ㅁ•́ฅ)
    →_→
    ୧(๑•̀⌄•́๑)૭
    ٩(ˊᗜˋ*)و
    (ノ°ο°)ノ
    (´இ皿இ`)
    ⌇●﹏●⌇
    (ฅ´ω`ฅ)
    (╯°A°)╯︵○○○
    φ( ̄∇ ̄o)
    ヾ(´・ ・`。)ノ"
    ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
    (ó﹏ò。)
    Σ(っ °Д °;)っ
    ( ,,´・ω・)ノ"(´っω・`。)
    ╮(╯▽╰)╭
    o(*////▽////*)q
    >﹏<
    ( ๑´•ω•) "(ㆆᴗㆆ)
    😂
    😀
    😅
    😊
    🙂
    🙃
    😌
    😍
    😘
    😜
    😝
    😏
    😒
    🙄
    😳
    😡
    😔
    😫
    😱
    😭
    💩
    👻
    🙌
    🖕
    👍
    👫
    👬
    👭
    🌚
    🌝
    🙈
    💊
    😶
    🙏
    🍦
    🍉
    😣
    Source: github.com/k4yt3x/flowerhd
    颜文字
    Emoji
    小恐龙
    花!
    上一篇
    下一篇