使用iperf测试网络性能

发表于:2014-1-26 11:09

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:evenness    来源:51Testing软件测试网采编

  iperf 是一个 TCP/IP 和 UDP/IP 的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。iperf是开源的,源代码可以从http://sourceforge.net/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 5001
TCP 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 5001
TCP 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/sec
41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号