网络性能测试Netperf

1、Netperf原理

网络性能测试工具,基于TCP或UDP传输。
Netperf不通模式网络性能测试:(1)批量数据传输模式 (2)请求/应答模式
Netperf工作方式:client/server
server端是netserver,用来侦听来自client端的连接,client端是netperf,用来向server发起网络测试
netserver(服务器端:接收端工具),netperf

2、Netperf安装

(1)执行以下命令下载Netperf
wget -c “https://codeload.github.com/HewlettPackard/netperf/tar.gz/netperf-2.5.0” -O netperf-2.5.0.tar.gz
(2)执行以下命令安装Netperf
tar -zxvf netperf-2.5.0.tar.gz
cd netperf-netperf-2.5.0
./configure
make
make install
结果发现安装失败截图如下:
网络性能测试Netperf
最后一行make install要改成sudo make install才安装成功

(3)执行netpef -h 和 netserver -h 验证安装是否成功,有输出说明安装成功
尚未安装成功截图如下:
网络性能测试Netperf
安装成功截图如下:
网络性能测试Netperf
网络性能测试Netperf

4、netpef命令行简介

根据作用范围的不同,netperf的命令行参数可以分为两大类:全局命令行参数、测试相关的局部参数,两者之间使用–分隔:
Netperf [global options] –-[test-specific options]
其中:
全局命令行参数包括如下选项:
-H host :指定远端运行netserver的server IP地址。
-l testlen:指定测试的时间长度(秒)
-t testname:指定进行的测试类型,包括TCP_STREAM,UDP_STREAM,TCP_RR,TCP_CRR,UDP_RR
-p 监听的端口号

测试相关的局部参数包括如下选项:
-s size 设置本地系统的socket发送与接收缓冲大小
-S size 设置远端系统的socket发送与接收缓冲大小
-m size 设置本地系统发送测试分组的大小
-M size 设置远端系统接收测试分组的大小
-D 对本地与远端系统的socket设置TCP_NODELAY选项
网络性能测试Netperf

5、遇到问题

在服务端开启netserver -p 11260
在客户端开启netpref -H 10.128.17.48 -p 11260 -t UDP_STREAM -l 5 – -m 1
结果报错:
send_data: data send error: Network is unreachable (errno 101) netperf: send_omni: send_data failed: Network is unreachable
在网上找过资料有可能是(1)iptables防火墙禁止netpref udp流,需要关闭防火墙(2)netpref禁止IP路由,需要在后面加上-R 1 (netpref -H 10.128.17.48 -p 11260 -t UDP_STREAM -l 5 – -m 1 -R 1)
结果发现并不能解决问题
最后我是通过把服务器上两个内网IP的其中一个删掉(意思是有一个内网网卡是em1,另个内网网卡是em1:1,把其中一个删掉),然后解决了问题

6、物理专线网络性能测试方法

链接: https://help.aliyun.com/document_detail/58625.html
链接:https://blog.51cto.com/dingtongxue1990/1853714
链接:https://www.ibm.com/developerworks/cn/linux/l-netperf/index.html