本文在第一篇的基础上讲解,如果你还没有安装curl-loader性能测试工具。请先参考《性能测试工具curl-loader(linux)》
这一节具体分析一下curl-loader的使用,以及各项参数的含义。
简单的性能测试与要求环境:
--------------------------------------------------------------------------------------------------------------------------------------------
访问百度首页:http://www.baidu.com/index.html
虚拟用户数:20
初始启动用户:1
每秒钟启动:1 (20秒后20位用户全部启动)
网络环境:本地linux -----外网百度首页 带宽:45KB/s (不稳定)
性能工具:curl-loader
----------------------------------------------------------------------------------------------------------------------------------------------
性能文件配置:
可以在curl-loader-0.56/conf-examples/ 目录下任意找一个配置文件,拷贝重名为:baidu.conf
[root@youname conf-examples]# vi baidu.conf 打开配置文件进行修改
########### GENERAL SECTION ################################
BATCH_NAME= baidu //测试对象的名称
CLIENTS_NUM_MAX=20 //最大虚拟用户数
CLIENTS_NUM_START=1 //一开始启动用户数
CLIENTS_RAMPUP_INC=1 //每秒钟启动几个用户
INTERFACE =eth0 //使用的网卡eth0
NETMASK=16 //子网掩码位数
IP_ADDR_MIN= 192.168.1.1 //起始IP地址
IP_ADDR_MAX= 192.168.53.255 #Actually - this is for self-control //最后的IP地址范围
CYCLES_NUM= -1 // -1 表示无限循环
URLS_NUM= 1
########### URL SECTION ####################################
URL=http://www.baidu.com/index.html //要测试的URL
#URL=http://localhost/ACE-INSTALL.html
URL_SHORT_NAME="local-index"
REQUEST_TYPE=GET
TIMER_URL_COMPLETION = 5000 # In msec. When positive, Now it is enforced by cancelling url fetch on timeout
TIMER_AFTER_URL_SLEEP =20
关于各项参数的含义,上面代码中已经加了注释。修改完成后,保存退出!
=======================================================================================
运行性能测试:
执行下面命令运行配置文件,开始进行测试。
[root@youname curl-loader-0.56]# curl-loader -f ./conf-examples/baidu.conf 启动运行刚才配置的文件
============ loading batch is: mysimp ======================================
--------------------------------------------------------------------------------
Interval stats (latest:3 sec, clients:20, CAPS-curr:23):
H/F Req:70,1xx:0,2xx:77,3xx:0,4xx:0,5xx:0,Err:0,T-Err:3,D:273ms,D-2xx:273ms,Ti:196498B/s,To:4344B/s
H/F/S Req:0,1xx:0,2xx:0,3xx:0,4xx:0,5xx:0,Err:0,T-Err:0,D:0ms,D-2xx:0ms,Ti:0B/s,To:0B/s
--------------------------------------------------------------------------------
Summary stats (runs:114 secs, CAPS-average:24):
H/F Req:2731,1xx:0,2xx:2713,3xx:0,4xx:0,5xx:0,Err:15,T-Err:46,D:280ms,D-2xx:280ms,Ti:187514B/s,To:4385B/s
H/F/S Req:0,1xx:0,2xx:0,3xx:0,4xx:0,5xx:0,Err:0,T-Err:0,D:0ms,D-2xx:0ms,Ti:0B/s,To:0B/s
=================================================================================
Manual: clients:max[20],curr[20]. Inc num: [+|*].
===================================================================
注:上面信息一直在刷新中。按键盘ctrl+C 键终止测试
各项参数说明:
interval stats 间隔统计
latest 最新数据(3秒内的)
clients 并发用户数量
CAPS-curr 最新发送请求数
req: request (请求)
- 1xx成功NUM; - 2xx成功NUM;- 3xx的重定向数量;- 4xx客户端错误数;- 5xx服务器错误数;
平均2XX(成功)的HTTP响应中的应用服务器延时,如上,但只有2xx有应答。来推动是3xx的重定向和5xx服务器错误/拒绝未必能真实反映一个测试服务器工作的功能(D2XX);
Ti (T-in) 吞吐量“吞”,平均值,字节/每秒
To (T-out) 吞吐量“吐”,平均值,字节/每秒
Summary stats 总结统计
runs 运行时间
CAPS-average 总平均发送请求数(秒)
错误类型:
err - 其他NUM错误,如解析,TCP连接,服务器关闭或空响应;
T-err - URL完成时间到期的错误;
======================================================================================
测试结果信息
k上面提到按键盘ctrl+C 键将终止测试,curl-loader会给出如下提示:
======= SIGINT Received ============.
H/F Req:97,1xx:0,2xx:97,3xx:0,4xx:0,5xx:0,Err:0,T-Err:0,D:211ms,D-2xx:211ms,Ti:257228B/s,To:5852B/s
H/F/S Req:0,1xx:0,2xx:0,3xx:0,4xx:0,5xx:0,Err:0,T-Err:0,D:0ms,D-2xx:0ms,Ti:0B/s,To:0B/s
=======================================================================================
End of the test for batch: mysimp
=======================================================================================
Test total duration was 117 seconds and CAPS average 23:
H/F Req:2828,1xx:0,2xx:2810,3xx:0,4xx:0,5xx:0,Err:15,T-Err:46,D:277ms,D-2xx:277ms,Ti:189301B/s,To:4423B/s
H/F/S Req:0,1xx:0,2xx:0,3xx:0,4xx:0,5xx:0,Err:0,T-Err:0,D:0ms,D-2xx:0ms,Ti:0B/s,To:0B/s
Exited. For details look in the files:
- baidu.log for errors and traces;
- baidu.txt for loading statistics;
- baidu.ctx for virtual client based statistics.
- baidu.ops for operational statistics.
Add -v and -u options to the command line for verbose output to mysimp.log file.
You have new mail in /var/spool/mail/root
k测试总时间为117秒和CAPS平均23
kcaps 每秒发送请求数量
--------------------------------------------------
baidu.log错误和痕迹;
baidu.txt对于加载统计数字
baidu.ctx虚拟客户端的统计数字。
baidu.ops业务统计 。
测试运行完成后会在当前目录下生成上面几个文件(bidu.log 、baidu.txt、baidu.ctx、baidu.ops),我们可以查看那几个文件获得更详细的测试数据。
-----------------------------------------------
如果想在运行测试的过程中获得更详细的信息,可以在运行测试的命令中加 -v 和 -u参数。命令使用如下
[root@youname curl-loader-0.56]# curl-loader -v -f ./conf-examples/baidu.conf
[root@youname curl-loader-0.56]# curl-loader -u -f ./conf-examples/baidu.conf
总结:通过对上面内容的分析,大体对curl-loader的各项参数有了初步了解。当然,我所列举的内容并不详细。还有地方比较模糊,比如运行过程中H/F和H/F/S 我都没整太明白具体表示的含义。