代码改变世界

性能测试工具curl-loader二---测试分析

2012-03-01 21:19  虫师  阅读(8734)  评论(0编辑  收藏  举报

 

        本文在第一篇的基础上讲解,如果你还没有安装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 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/FH/F/S  我都没整太明白具体表示的含义。

本文参考官方FAQ文档:http://curl-loader.sourceforge.net/doc/faq.html

 

 

 

Web Page Counters
Computer Desks