上善若水,不浮不沉!
分类: LINUX
2014-03-05 15:08:56
本文在第一篇的基础上讲解,如果你还没有安装curl-loader性能测试工具。请先参考《性能测试工具curl-loader(linux)》
这一节具体分析一下curl-loader的使用,以及各项参数的含义。
简单的性能测试与要求环境:
------- --------------------------------------------------------------------------------------------------------------- ----------------------
访问百度首页:
虚拟用户数: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= //要测试的URL #URL= 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 for errors and traces;
- baidu.txt for loading statistics;
- baidu.ctx for virtual client based statistics.
- baidu.ops for operational statistics
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 我都没整太明白具体表示的含义。
本文参考官方FAQ文档:http://curl-loader.sourceforge.net/doc/faq.html
huodiewj2014-12-30 14:33:34
报错:curl-loader: error while loading shared libraries: libcares.so.2: cannot open shared object file: No such file or directory
在/usr/local/lib下没找到libcares.so.2
将curl-loader编译目录下的
$ sudo cp /home/yingfm/PerformanceTools/curl-loader-0.53/build/c-ares/c-ares-1.7.4/lib/libcares.so.2.0.0 /usr/local/lib/
$ cd /usr/local/lib
$ sudo ln -s libcares.so.2 /lib/ibcares.so.2
$ sudo ldconfig