当前位置:文档之家› iperf_for_Linux_的安装与使用

iperf_for_Linux_的安装与使用

安装Iperf2011-03-20 11:42:49| 分类:Linux | 标签:|字号大中小订阅./configure -- configure for your machinemake -- compile Iperfmake install -- install Iperf, if desirediperf -s (on machine "")iperf -c (on some other machine)iperf -h (for help screen)iperf -v (for version information)1、./configure 这一步可能会出问题,即系统没有安装g++,apt-get install g++;安装完后可以重新编译Iperf,最简单的方法是使用以下命令:1、make distclean2、./configure3、makeiperf for Linux 的安装与使用来源: ChinaUnix博客日期:2008.07.03 14:47 (共有条评论) 我要评论什么是Iperf?Iperf 是一个网络性能测试工具。

Iperf可以测试TCP和UDP带宽质量。

Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。

Iperf可以报告带宽,延迟抖动和数据包丢失。

编译与安装Iperf2.0.2目前仅提供源码包的下载。

当你下载到Iperf源码包后,在类unix系统上,需要先解压缩源码包,使用解压缩命令gzip或tar。

解压后会产生新文件夹“Iperf-2.0.2”。

Iperf2.0.2在以下操作系统中可以很好的被编译:Linux,SGI IRIX,HP-UX,Solaris,AIX,和Cray UNICOS。

使用“make”命令编译Iperf源码。

完整的编译命令如下:tar xvf iperf-2.0.2.tar.gzcd iperf-2.0.2./configuremake编译:yum list gcc-c++,yum install gcc-c++.版本编译成功后,使用以下命令安装Iperf:make install重新编译Iperf,最简单的方法是使用以下命令:make distclean./configuremakeMake install功能介绍TCP测量网络带宽报告MSS/MTU值的大小和观测值支持TCP窗口值通过套接字缓冲当P线程或Win32线程可用时,支持多线程。

客户端与服务端支持同时多重连接UDP客户端可以创建指定带宽的UDP流测量丢包测量延迟支持多播当P线程可用时,支持多线程。

客户端与服务端支持同时多重连接(不支持Windows)在适当的地方,选项中可以使用K(kilo-)和M(mega-)。

例如131072字节可以用128K 代替。

可以指定运行的总时间,甚至可以设置传输的数据总量。

在报告中,为数据选用最合适的单位。

服务器支持多重连接,而不是等待一个单线程测试。

在指定时间间隔重复显示网络带宽,波动和丢包情况。

服务器端可作为后台程序运行。

服务器端可作为Windows 服务运行。

使用典型数据流来测试链接层压缩对于可用带宽的影响.命令使用:for UDP Sending:iperf -c [IP-Addr] -i 1 -p [port] -u -t 10000 -b 2M==================================================== for UDP Receiving:iperf -s -i 1 -u -p [port]========================================iperf -c 10.0.5.5 -i 1 -p 6015 -u -t 10000 -b 128kiperf -s -i 1 -u -p 6005iperf -c 10.18.61.66 -i 1 -p 6006 -u -t 99999 -b 128kiperf -s -i 1 -u -p 6006 -t 999999运行后的结果在Clinet端:C:\>iperf -c 10.0.5.235 -i 1 -p 6005 -u -t 60 -b 128k------------------------------------------------------------Client connecting to 10.0.5.235, UDP port 6005Sending 1470 byte datagramsUDP buffer size: 8.00 KByte (default)------------------------------------------------------------[ ID] Interval Transfer Bandwidth[1868] 0.0-60.2 sec 940 KBytes 128 Kbits/sec[1868] Server Report:[1868] 0.0-60.8 sec 940 KBytes 127 Kbits/sec 13.838 ms 0/ 655 (0%) [1868] Sent 655 datagrams使用iperf测试网络性能测试网络性能,定位网络瓶颈。

iperf是开源的,源代码可以从/projects/iperf/下载。

1. iperf能够做什么提起iperf,想必大家都知道它是用了测试网络性能的。

具体说来,Iperf是美国伊利诺斯大学(University of Illinois)开发的一种开源的网络性能测试工具。

可以用来测试网络节点间(也包括回环)TCP或UDP连接的性能,包括带宽、抖动以及丢包率,其中抖动和丢包率适应于UDP测试,而带宽测试适应于TCP 和UDP。

这里需要特别提出的是,iperf不能够用来测试时延,想一想这是为什么。

2. 网络性能参数以上提到了网络的主要性能参数包括带宽,时延,抖动和丢包率,这些用一个名词代替,就是QOS(服务质量)。

对于时延和抖动,见如下图图中D1,D2分别表示包A和包B的时延。

抖动=|D2-D1|对于时延,iperf无能为力。

但是iperf能够计算抖动,想想这又是为什么。

我们知道,在iperf中,我们测试时需要发送大量的包,因此计算出来的抖动值就是连续发送时延差值的平均值。

3. 安装iperf在Unix系统下,安装iperf最方便的方法是直接下载rpm包,使用rpm指定安装即可。

当然也可以直接去sourceforge上下载源代码,使用如下命令安装即可。

#./configure#make#make install前提是该机器上已经有C++编译器和make等程序。

安装完成之后,可以进行一个简单的回环测试iperf是否安装成功。

$ iperf -s------------------------------------------------------------Server listening on TCP port 5001TCP window size: 85.3 KByte (default)------------------------------------------------------------[ 4] local 127.0.0.1 port 5001 connected with 127.0.0.1 port 35589[ ID] Interval Transfer Bandwidth[ 4] 0.0-10.0 sec 26.3 GBytes 22.6 Gbits/sec$ iperf -c 127.0.0.1------------------------------------------------------------Client connecting to 127.0.0.1, TCP port 5001TCP window size: 49.5 KByte (default)------------------------------------------------------------[ 3] local 127.0.0.1 port 35589 connected with 127.0.0.1 port 5001[ ID] Interval Transfer Bandwidth[ 3] 0.0-10.0 sec 26.3 GBytes 22.6 Gbits/seciperf测试案例介绍4. iperf主要参数iperf中的可选参数比较多,具体可以参见其用户手册。

http://webfolder.wirelessleiden.nl/iperf/一般来说,我们在做性能测试的时候需要指定包长,不同的包长会得到不同的吞吐量,通过-l指定,而使用-b指定带宽。

5. 测试吞吐量,抖动和丢包率如何需要同时测试以上三个参数,那么只能通过UDP获得。

使用-u参数进行UDP测试(iperf默认为TCP)。

在测试的最后server端会给出一个报告。

[ 3] local 192.168.1.1 port 2152 connected with 192.168.101.2 port 56768 [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams[ 3] 0.0- 1.0 sec 1.40 MBytes 11.7 Mbits/sec 0.069 ms 0/14671 (0%) [ 3] 1.0- 2.0 sec 1.40 MBytes 11.8 Mbits/sec 0.050 ms 0/14703 (0%) [ 3] 2.0- 3.0 sec 1.40 MBytes 11.8 Mbits/sec 0.052 ms 0/14708 (0%) [ 3] 3.0- 4.0 sec 1.40 MBytes 11.8 Mbits/sec 0.057 ms 0/14704 (0%) [ 3] 4.0- 5.0 sec 1.40 MBytes 11.8 Mbits/sec 0.072 ms 0/14706 (0%) [ 3] 5.0- 6.0 sec 1.40 MBytes 11.8 Mbits/sec 0.075 ms 0/14705 (0%) [ 3] 6.0- 7.0 sec 1.40 MBytes 11.8 Mbits/sec 0.060 ms 0/14707 (0%) [ 3] 7.0- 8.0 sec 1.40 MBytes 11.8 Mbits/sec 0.073 ms 0/14703 (0%) [ 3] 8.0- 9.0 sec 1.40 MBytes 11.8 Mbits/sec 0.073 ms 0/14706 (0%) [ 3] 0.0-10.0 sec 14.0 MBytes 11.8 Mbits/sec 0.064 ms 0/147020 (0%)要获得带宽数据,需要不断在client端增加带宽值,直到server端出现轻微的丢包为止,此时server端显示的带宽就是被测系统的吞吐量。

相关主题