Gbase8a测试技术分享--netperf测试(网络性能)
一、netperf工具的安装
Netperf 是一种网络性能测量工具,主要基于 TCP 或 UDP 的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。Netperf 工具以 client/server 方式工作。server 端是 netserver,用来侦听来自 client 端的连接,client 端是 netperf ,用来向 server 发起网络测试。
获取安装包,进行解压并编译安装
$ tar zxvf netperf-2.5.0.tar.gz
$ cd netperf-2.5.0.tar.gz
$ ./configure
$ make && make install
二、netperfNetperf 网络性能测试
1. 参数说明:netperf的参数说明
netperf语法格式为: netperf [global options] -- [test 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分组的大小|
2.测试运行命令:
netperf -H 10.10.16.129. -l 60 (测试60秒内TCP批量数据传输表现)
netperf -H 10.16.65.129 -l 60 -- -m 1M
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.16.65.129 () port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
131072 16384 1048576 60.00 40073.16
从netperf的结果输出中,获取以下的一些信息:
远端系统(即server)使用大小131072字节的socket接收缓冲;
本地系统(即client)使用大小为16384字节的socket发送缓冲;
向远端系统发送的测试分组大小为16384字节;
测试经历的时间为60秒,发送端测试组大小1M;
吞吐量的测试结果为40073.16bits/秒。
3.集群端对端tcp网络测试脚本
for line in `awk '{print}' $ipList`
do
echo "netperf -H $line -- -m 1M" >>$result_dir/p_to_p_tcp_1M_result.txt
netperf -H $line -- -m 1M >>$result_dir/p_to_p_tcp_1M_result.txt
echo "" >>$result_dir/p_to_p_tcp_1M_result.txt
echo "netperf -H $line -l 60 -- -m 1M" >>$result_dir/p_to_p_tcp_1M_result.txt
netperf -H $line -l 60 -- -m 1M >>$result_dir/p_to_p_tcp_1M_result.txt
echo "" >>$result_dir/p_to_p_tcp_1M_result.txt
done
总结:netperf是一个方便的网络性能测试工具,也便于统计网络性能测试。




