Linux下网络性能测试Netperf工具介绍及安装
1 官方网站
http://www.netperf.org/netperf/
2 Netperf介绍
Netperf是一种网络性能的测试工具,主要针对基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送数据,以及另外一个系统能够以多快的速度接收数据。
Netperf工具以client/server方式工作。server端是netserver,用来侦听来自client端的连接,client端是netperf,用来向server发起网络测试。在client与server之间,首先建立一个控制连接,传递有关测试配置的信息,以及测试的结果;在控制连接建立并传递了测试配置信息以后,client与server之间会再建立一个测试连接,用来来回传递着特殊的流量模式,以测试网络的性能。
3 Netperf安装
下载:http://www.netperf.org/netperf/
在linux下安装,先下载完成后,运行如下操作:
tar zxvf netperf-2.6.0.tar.gz
cd netperf-2.6.0
./configure
make
make install
4 Netperf应用介绍
1 Netperf可以模拟三种不同的TCP流量模式:
1) 单个TCP连接,批量(bulk)传输大量数据
2) 单个TCP连接,client请求/server应答的交易(transaction)方式
3) 多个TCP连接,每个连接中一对请求/应答的交易方式
2 Netperf可以模拟两种UDP的流量模式:
1) 从client到server的单向批量传输
2) 请求/应答的交易方式由于UDP传输的不可靠性,在使用netperf时要确保发送的缓冲区大小不大于接收缓冲区大小,否则数据会丢失,netperf将给出错误的结果。因此,对于接收到分组的统计不一定准确,需要结合发送分组的统计综合得出结论。
5 Netperf语法格式
Netperf [global options] –-[test-specific options]
[global options] 可选参数,具体如下介绍:
参数 | 说明 |
-H host | 指定远端运行netserver的server IP地址 |
-l testlen | 指定测试的时间长度(秒) |
-t testname | 指定进行的测试类型(TCP_STREAM,UDP_STREAM,TCP_RR,TCP_CRR,UDP_RR) |
[test-specific options] 可选参数,具体如下介绍:
参数 | 说明 |
-s size | 设置本地系统的socket发送与接收缓冲大小 |
-S size | 设置远端系统的socket发送与接收缓冲大小 |
-m size | 设置本地系统发送测试分组的大小 |
-M size | 设置远端系统接收测试分组的大小 |
-D | 对本地与远端系统的socket设置TCP_NODELAY选项 |
-r req,resp | 设置request和reponse分组的大小 |
远程主机: NPtcp [options]
本地主机: NPtcp -h remote_host [options]