Chinaunix首页 | 论坛 | 博客
  • 博客访问: 571704
  • 博文数量: 107
  • 博客积分: 3079
  • 博客等级: 少校
  • 技术积分: 1306
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-08 00:03
个人简介

emmoblin.github.com

文章分类

全部博文(107)

文章存档

2012年(8)

2011年(15)

2010年(49)

2009年(9)

2008年(26)

分类: LINUX

2008-11-17 09:15:45

Iperf 是一个 TCP/IP 和 UDP/IP 的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。


参数说明
-s 以server模式启动,eg:iperf -s
-c 以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

iperf是client端向server端发送数据

server端显示的是接收速率,最好加i参数,进行速率跟踪

client 显示的是发送速率

server 显示接收速率


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

可以使用不同的包长,进行测试


-m 显示tcp最大mtu值
-o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o c:\iperflog.txt
-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999


-u 使用udp协议

测试htb的时候最好用udp,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 单独进行双向传输测试


-b 指定发送带宽,默认是1Mbit/s

在测试qos的时候,这是最有用的参数。


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

默认是10s


-F 指定需要传输的文件
-T 指定ttl值

阅读(11725) | 评论(7) | 转发(0) |
0

上一篇:解析LINUX的passwd文件

下一篇:UUID

给主人留下些什么吧!~~

chinaunix网友2010-06-19 09:52:03

请问怎么在报告中显示出丢包率啊? 急啊 各位兄弟姐妹救救我吧

emmoblin2008-12-05 00:48:14

也谢谢你,我还真没用过-P参数,谢谢你能告诉我

小小的天!2008-12-02 10:11:12

楼主好,谢谢楼主的回复。 刚开始没有理解其中上述说明中某些参数的含义,后来使用了: -P, --parallel # $IPERF_PARALLEL 线程数。指定客户端与服务端之间使用的线程数。默认是1线程。需要客户端与服务器端同时使用此参数。 在开了超线程以后,就可以达到“指定”较大TCP带宽的目的。 我现在想要实现的是在测试报告中显示出丢包率来。目前我还没有办法实现。 再次感谢楼主的回复。

小小的天!2008-12-01 09:43:32

也就是说,我的目的是想实现在进行TCP测试的时候,指定带宽比如300M,在测试UDP的时候可以这样实现: iperf -c hostIP -p xxx -i 2 -u -b 200M -n xxxx -t xxxx 但是测试TCP的话,不能简单的这样替换: iperf -c hostIP -p xxx -i 2 -t -b 200M -n xxxx -t xxxx 提示的信息是,-b参数仅支持UDP测试。

小小的天!2008-12-01 09:40:41

谢谢楼上的回复。 是这样的,这个确实能测试,但是测出来的带宽很小,发送的流量也不大,我们实际的带宽很大,上百兆。在测试UDP的时候,可以使用-b参数,来指定大的带宽,比如300M,但是,在测试TCP的时候,-b参数不支持,所以想找个能实现和-b参数同样的效果的方法来。