Iperf是一个网络性能测试工具,它拥有多个参数,可以测量TCP和UDP的带宽,延时抖动以及丢包率。
一 安装
Iperf不需要安装,当需要用Iperf来测试网络中两个结点间的带宽时,只需把iperf.exe文件分别copy到这两台计算机的硬盘中。使用时,直接在命令行窗口中运行带各种参数的iperf命令即可。
二 常用参数介绍
这里只介绍几个测试中需要经常使用的参数。更多参数的介绍可以在命令行窗口中输入 iperf –h 或 iperf -help查看。
参数说明:
-s 以server模式启动,默认是TCP方式,eg:iperf –s
-c host以client模式启动,host是server端地址,eg:iperf -c 10.1.1.2
Note: 这里的server和client的概念跟我们在应用层的理解是相反的。举个例子,LAN和WAN之间,下行数据,
我们通常会认为WAN端是server,LAN端是client. 在Iperf中,如果测试下行速率,则是把WAN端作为client
,LAN端作为Server.这个一定要记住。
-t 测试时间,默认10秒, eg:iperf –c 10.1.1.2 -t 100
-w 指定窗口大小,默认是8KB
-i sec 以秒为单位间隔显示报告,eg:iperf -c 10.1.1.2 -i 2
-u 使用udp协议
-b 指定bindwidth,仅适用于UDP,默认是1Mbit/sec
-l 缓冲区大小,默认是8KB, iperf –c 10.1.1.2 -l 1000
Note:此值在测试UDP时非常重要,如果太小,将导致CFM hang up,如果太大,将导致UDP分片出错,CPE会频繁Down掉。建议此值在800-1200之间。(通过抓包可以看出包的大小).
-n 指定传输的字节数,
eg:iperf -c 10.1.1.2 -n 100000
-p 指定服务器端或客户端所连接的端口
eg:iperf -s -p 9999;
iperf -c 10.1.1.2 -p 9999
三 应用举例
测试描述:分别使用TCP和UDP Package测试WAN到LAN之间的下行速率
测试环境:
配置:启动DMZ
TCP
-
1 在LAN端(10.1.1.2)启动server,并修改Window大小
iperf -s -w 64k -
2 在WAN端(10.110.51.101)启动多个Client,修改Window大小,测试时间为100秒,每两秒钟显示一次报告。本例中启动了3个client,其中一个显示如下:
iperf -c 10.110.21.104 -t 100 -w 64k -i 2 -
3 运行3个client后,在Server端显示如下:
iperf -s -w 64k -
4 运行完毕后,Server端会统计出相关数据的平均值。
iperf -s -w 64k
UDP
-
1 在LAN端(10.1.1.2)启动server(UDP),并修改Window大小
iperf -s -w 64k -u -
2 在WAN端(10.110.51.101)启动1个Client,修改Window大小,测试时间为100秒,每两秒钟显示一次报告,指定bindwidth为20M,缓冲1000K:
iperf -c 10.110.21.104 -t 100 -w 64k -i 2 -b 20m -u -l 1000 -
3 运行client后,在Server端显示如下:
iperf -s -w 64k -u -
4 运行完毕后,Server端会统计出带宽,抖动时延,丢包率的平均值。
iperf -s -w 64k -u