安装
wget http://nchc.dl.sourceforge.net/project/curl-loader/curl-loader/curl-loader-0.56/curl-loader-0.56.tar.bz2
tar jxvf curl-loader-0.56.tar.bz2
cd curl-loader-0.56
make
yum install -y
patch
然后再make
配置
cd curl-loader-0.56
cp 10K.conf test.conf
vi conf-examples/test.conf
########### GENERAL SECTION ################################
BATCH_NAME= 10K //测试对象的名称
CLIENTS_NUM_MAX=10000 //最大虚拟用户数
CLIENTS_NUM_START=100 //一开始启动用户数
CLIENTS_RAMPUP_INC=50 //每秒钟启动几个用户
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://localhost/index.html //要测试的URL
#URL=http://localhost/ACE-INSTALL.html
URL_SHORT_NAME="local-index"
REQUEST_TYPE=GET
TIMER_URL_COMPLETION = 5000 # 每个client的完成时间是5秒,0代表不限制时间
TIMER_AFTER_URL_SLEEP =20 #client完成fetch之后,休息20毫秒
测试
# curl-loader -f ./conf-examples/mysimp.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
参考文章: http://www.91cto.cn/post/115.html