在IDC机房工作,难免会遇到一些纠结带宽的客户,测试带宽的工具方法有很多种,这里就简单说一下使用iperf工具来测试带宽的方法。

        iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能。Iperf具有多种参数和UDP特性,可以根据需要调整。Iperf可以报告带宽,延迟抖动和数据包丢失。

        iperf 分为两种版本,unix/linux版和windows版,unix/linux版更新比较快,版本最新。windows版更新慢。windows版的iperf叫jperf,或者xjperf。jperf是在iperf基础上开发了更好的UI和新的功能。

        这里采用Windows系统下jperf测试下带宽,Linux下同理,下载jperf-2.0.2

QQ截图20120313165538

 

       先用最简单默认的方法测试一次,服务端机器执行如下命令,CD到jperf目录下的BIN目录内,-s参数指定服务端

 

QQ截图20120313165717

 

客户端机器同样CD到jperf目录下的BIN目录内,-c 参数是指定服务端地址

QQ截图20120313170028

这样在服务端和客户端都可以看到带宽测试结果,上图是45.2M。

但是往往在一般情况下为了更直观显示,客户需要加上其他参数,为了测试的准确性还需要并行测试,下面就是普通的测试方法

-i参数设置每次报告之间的时间间隔,单位为秒,-P参数是指定并行测试的数目

QQ截图20120313170350

 

上面都是测试TCP带宽,最后测试下UDP带宽测试方法,服务端执行如下命令 -u指定测试UDP,-s指定服务端

QQ截图20120313172043

 

客户端执行如下命令 这里是百兆带宽,指定-b为90M

QQ截图20120313170540

测试时多结合-w参数,将TCP窗口大小改为1M 如 iperf -c ipaddress -i 1 -w 1M

也常结合-t参数,指定测试的时间,具体可在实际应用中酌情使用。

 

最后简单介绍下几个常用参数的解释:

-r                    //r参数表示双向数据测试,但要先测c到s的带宽

-d                   //d参数和r近似,并且功能更强,可同时测试双向数据

-w [2000]     //w参数后跟数字,单位是byte,

-p [12000]   //p参数可指定端口号

-t [20]           //t参数默认表示测试10次,后加数字可以自己定义

-i [2]              //i参数表示测试开始到结束的间隔时间,单位s

-u -b 10m    //udp 10mbps 测试

-m                 //最大mpu测试

-P                  //并行测试

-h                  //帮助