性能测试利器iperf

来源:互联网 发布:数控车g73编程实例详解 编辑:程序博客网 时间:2024/05/22 05:09

源地址 

0 iperf简介

在进行SDN研究和开发时经常要进行网络性能的测试,iperf是一款非常出色的网络性能测试工具(Mininet自带iperf)。

jperf是iperf的GUI接口,可以实时的以图形方式显示性能测试结果,并可以保存测试结果。jperf也需要调用iperf来完成测试,它只是iperf的GUI外壳而已,所以本质的还是要掌握iperf的用法。

1 iperf的下载与安装

由于是开发源代码的,可以下载源码进行编译安装。如果仅仅是测试只用的话,推荐直接使用编译好的二进制版本即可。

iperf的官方网址 :

  • http://iperf.fr

jperf的下载链接:

  • http://iperf.fr/download/iperf_1.7.0/jperf-2.0.0.zip

2 使用方法

由于Iperf工具是基于服务器和客户端的工作模式,所以在进行测试之前应先在目标计算机上启动服务器端程序,Iperf客户端和服务器端程序其实都是同一个程序,只是使用了不同的命令选项而已。

iperf服务器端选项和启动:

-s 以server模式启动,eg:*iperf –s* 。Server端为数据的接收端。-D 以服务方式运行ipserf,eg:*iperf -s -D*-R 停止iperf服务,针对-D,eg:iperf -s -R-o <filename>  重定向输出报告或错误信息到指定文件。-c <hostname/IP> 如果Iperf运行为服务器模式,则可利用-c参数指定一个客户端,本机将接受指定客户端的连接,但不支持UDP协议。-P,--parallel #  设置Iperf服务模式下的最大连接数,默认值为0,表示不限制连接数量。

iperf客户端选项

-b,--bandwidth 指定客户端通过UDP协议发送信息的带宽,默认值为1Mbit/s-c,--client <hostname/IP> 指定Iperf服务器的主机名和IP地址-d,--dualtest 同时进行双向传输测试-n,--num 指定传输的字节数,eg:*iperf -c 222.35.11.23 -n 100000*-r,--tradeoff 单独进行双向传输测试-t,--time 指定Iperf测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5-L,--listenport 指定一个端口,服务器将利用这个端口与客户机连接-P, --parallel 设置Iperf客户端至Iperf服务器的连接数,默认值为1-S, --tos  设置发出包的类型,具体类型请参阅man文档-F 指定需要传输的文件-T 指定ttl值

通用参数

-f [kmKM] 分别表示以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-l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16-m 显示tcp最大mtu-o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o ciperflog.txt-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999-u 使用udp协议-w 指定TCP窗口大小,默认是8KB-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)-C 兼容旧版本(当server端和client端版本不一样时使用)-M 设定TCP数据包的最大mtu值-N 设定TCP不延时-V 传输ipv6数据包

3 iperf应用实例

3.1 以服务器模式启动iperf

使用 iperf -s 命令将 Iperf 启动为 server 模式:

iperf –s————————————————————Server listening on TCP port 5001TCP window size: 8.00 KByte (default)————————————————————

3.2 启动iperf客户端

向IP为10.230.48.65的主机发出TCP测试,并每2秒返回一次测试结果:

iperf -c 10.230.48.65 -i 2

3.3 以Mbytes/sec为单位显示测试结果:

iperf -c 10.230.48.65 -f M -i 2

3.4 设置TCP传输窗口大小为300K

iperf -s -w 300K————————————————————Server listening on TCP port 5001TCP window size: 300 KByte———————————————————

3.5 指定传输约1MB数据

iperf -c 59.125.103.56 -f K -i 2 -w 300K –n 1000000

3.6 指定测试持续时间

指定测试持续时间为36秒:

iperf -c 59.125.103.56 -f K -i 2 -w 300K –t 36

3.7 测试双向传输

iperf -c 220.112.45.87 -f K -i 2 -w 300k -n 1000000 -d

3.8 UDP测试

iperf -c 59.125.103.56 -f K -i 2 -w 300K –u
0 0