Netperf是一种网络性能测试工具,主要针对据域TCP和UDP的传输。Netperf根据应用的不同可以进行不同模式的网络性能测试,既批量数据传输模式(bulk data transfer)请求/应答模式(request/response)模式。Netperf测试结果所反映的是一个系统能够以多快速度向另外一台系统发送数据,以及另外一个系统能够以多快速度接收数据。
Netperf工具以client/server方式工作。server端是netserver,用来侦听来自client端的连接。client端是netperf,用来行server发起网络测试。在client和server之间,首先建立一个控制连接,传输有关测试配置信息,以及测试结果;在控制连接建立并传输了测试配置信息以后,client与server之间回再建立一个测试连接,用来来回传递特殊的流量模式,以测试网络的性能。
1.下载
下载地址:http://www.netperf.org/netperf/
这个网站上有最新版本的下载连接和操作手册
例如下载的文件为:netperf-2.6.0.tar
2.解压
$ tar -xvf netperf-2.6.0.tar
3.安装
$ cd netperf-2.6.0
$ ./configure
$ make
$ make install
4.首先在服务器端运行
$ netserver
5.运行客户端
$ netperf -H host -l testlen -t testname
命令参数:
-H host: 指定远端运行netserver的server ip地址
-l testlen: 指定测试的时间长度(秒)
-t testname: 指定进行的测试类型,包括TCP_STREAM, UDP_STREAM, TCP_RR,UDP_RR, TCP_CRR
6. 测试案例
(1)服务器端执行:(ip: 10.10.11.208)
[root@phpc1 netperf-2.6.0]# netserver Starting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC [root@phpc1 netperf-2.6.0]# |
(2)客户端运行
[root@phpc2 netperf-2.6.0]# netperf -H 10.10.11.208 -l 60 -t TCP_STREAM MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.10.11.208 () port 0 AF_INET Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 60.03 [root@phpc2 netperf-2.6.0]# netperf -H 10.10.11.208 -l 60 -t TCP_STREAM MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.10.11.208 () port 0 AF_INET Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 60.03 937.04 |