iperf
网络性能测试工具
补充说明
iperf命令 是一个网络性能测试工具。iperf可以测试TCP和UDP带宽质量。iperf可以测量最大TCP带宽,具有多种参数和UDP特性。iperf可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。
iperf分为两种版本,Unix/Linux版和Windows版,Unix/Linux版更新比较快,版本最新。Windows版更新慢。Windows版的iperf叫jperf,或者xjperf。jperf是在iperf基础上开发了更好的UI和新的功能。
Linux版本下载地址:http://code.google.com/p/iperf/downloads/list
安装iperf
对于windows版的iperf,直接将解压出来的iperf.exe和cygwin1.dll复制到%systemroot%目录即可,对于linux版的iperf,请使用如下命令安装:
1 | gunzip -c iperf-<version>.tar.gz | tar -xvf - |
选项
1 | -f, --format \[bkmaBKMA] # 格式化带宽数输出。支持的格式有: |
服务器端专用选项
1 | -s, --server # Iperf服务器模式 |
客户端专用选项
1 | -b, --bandwidth #\[KM] # UDP模式使用的带宽,单位bits/sec。此选项与-u选项相关。默认值是1 Mbit/sec。 |
杂项
1 | -h, --help # 显示命令行参考并退出 。 |
实例
带宽测试通常采用UDP模式,因为能测出极限带宽、时延抖动、丢包率。在进行测试时,首先以链路理论带宽作为数据发送速率进行测试,例如,从客户端到服务器之间的链路的理论带宽为100Mbps,先用-b 100M
进行测试,然后根据测试结果(包括实际带宽,时延抖动和丢包率),再以实际带宽作为数据发送速率进行测试,会发现时延抖动和丢包率比第一次好很多,重复测试几次,就能得出稳定的实际带宽。
UDP模式
服务器端:
1 | iperf -u -s |
客户端:
1 | iperf -u -c 192.168.1.1 -b 100M -t 60 |
在udp模式下,以100Mbps为数据发送速率,客户端到服务器192.168.1.1上传带宽测试,测试时间为60秒。
1 | iperf -u -c 192.168.1.1 -b 5M -P 30 -t 60 |
客户端同时向服务器端发起30个连接线程,以5Mbps为数据发送速率。
1 | iperf -u -c 192.168.1.1 -b 100M -d -t 60 |
以100M为数据发送速率,进行上下行带宽测试。
TCP模式
服务器端:
1 | iperf -s |
客户端:
1 | iperf -c 192.168.1.1 -t 60 |
在tcp模式下,客户端到服务器192.168.1.1上传带宽测试,测试时间为60秒。
1 | iperf -c 192.168.1.1 -P 30 -t 60 |
客户端同时向服务器端发起30个连接线程。
1 | iperf -c 192.168.1.1 -d -t 60 |
进行上下行带宽测试。