netperf和iperf网络性能监控工具

转载地址:http://qa.blog.163.com/blog/static/1901470022011102543322445/

iperf netperf UDPmon 都是测量网络性能的开源软件,iperf是伊利诺斯大学的超级计算机应用程序国家中心(NCSA)开发的,和IE是同根生,netperf是HP的,UDPmon是英国曼切斯特大学的产物。

本文主要演示、介绍两个工具的使用方法,具体两个工具的作用,可以参考文中提供的参考资料。

如百度百科里面的介绍:Netperf是一种网络性能的测量工具,主要针对基于TCPUDP的 传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统 发送数据,以及另外一个系统能够以多块的速度接收数据。   Netperf工具以client/server方式工作。server端 是netserver,用来侦听来自client端的连接,client端是netperf,用来向server发起网络测试。在client与 server之间,首先建立一个控制连接,传递有关测试配置的信息,以及测试的结果;在控制连接建立并传递了测试配置信息以后,client与 server之间会再建立一个测试连接,用来来回传递着特殊的流量模式,以测试网络的性能。

一、Iperf使用方法

1、下载地址:

http://sourceforge.net/projects/iperf/files/iperf/2.0.4%20source/iperf-2.0.4.tar.gz/download

linux下直接下载

wget http://sourceforge.net/projects/iperf/files/iperf/2.0.4%20source/iperf-2.0.4.tar.gz

http://blog.sina.com.cn/s/blog_49ab2ae20100cnig.html

http://www.netperf.org/netperf/

2、iperf参考资料

http://baike.baidu.com/view/3503290.htm

http://blog.chinaunix.net/space.php?uid=9967220&do=blog&cuid=686264

3、功能介绍

man说明:

iperf  is  a  tool  for  performing network throughput measurements.  It can test either TCP or UDP throughput.  To perform an iperf test the user  must  establish  both a server (to discard traffic) and a client (to generate traffic).

3.1、 TCP(默认为TCP)

n  测量网络带宽(附录1)

n  报告MSS/MTU值的大小和观测值(使用-m选项,附录2)

n  可以设置套接字缓冲区为指定大小(默认85.3 KByte)。对于TCP方式,此设置为TCP窗口大小(附录3)。对于UDP方式,此设置为接受UDP数据包的缓冲区大小,限制可以接受数据包的最大值。

n  P线程或Win32线程可用时,支持多线程。客户端与服务端支持同时多重连接(-P选项,参见附录4 )

3.2、UDP(通过-u选项指定为UDP,附录5)

n  客户端可以创建指定带宽的UDP流(用-b选项,单位bits/sec。此选项与-u选项相关。默认值是1 Mbit/sec,附录5))

n  测量丢包率(附录5)

n  测量延迟抖动(附录5

n  支持多播

n  P线程可用时,支持多线程。客户端与服务端支持同时多重连接(不支持Windows

其它选项:

 -p, --port n  set server port to listen on/connect to to n (default 5001)

………

二、netperf

1、下载地址:

wget  ftp://ftp.netperf.org/netperf/netperf-2.5.0.tar.gz

2、参考资料:

http://baike.baidu.com/view/3506574.htm?fr=ala0_1_

 

3、功能介绍

man 说明

Netperf  is  a benchmark that can be used to measure various aspects of networking performance.  Currently, its focus is on bulk data  transfer and  request/response  performance  using  either  TCP  or UDP, and the  Berkeley Sockets interface. In  addition,  tests  for  DLPI,  and  Unix Domain Sockets, tests for IPv6 may be conditionally compiled-in.

3.1、对TCP(缺省情况下进行TCP批量传输,即-t TCP_STREAM),Netperf可以模拟三种不同的TCP流量模式:

  1) 单个TCP连接,批量(bulk)传输大量数据,测试过程中,netperf向netserver发送批量的TCP数据分组,以确定数据传输过程中的吞吐量(附录6)

2) 单个TCP连接,client请求/server应答的交易(transaction)方式(附录8)

3) 多个TCP连接,每个连接中一对请求/应答的交易方式(附录9)

3.2、对UDP(指定-t UDP_STREAM),Netperf可以模拟两种UDP的流量模式:

  1) 从client到server的单向批量传输 (附录7)

2) 请求/应答的交易方式(附录10)

三、比较

都是开源软件。都可以支持tcp、udp协议,都是都可以指定端口号、指定tcp发送缓冲区大小、指定测试时间,都可以禁用Nagle's算法。

稳定性方面:开源软件,稳定性都不错。

 

 

支持多线程

可以设置服务器关闭之前保持的连接数

支持多播

支持除tcp、udp之外的协议

支持IPV6

可以输出TCP MSS值

设置测试分组大小

支持多种测试范式

稳定性

iperf

一定程度上

 

netperf

 

 


附录:

附录1

服务器端:

(-i选项 表示时间间隔 )

客户端:


你可能感兴趣的:(linux系统,网络)