已转开发,博客新地址:http://welcomezhang.iteye.com/

初学abench压力测试

上一篇 / 下一篇  2011-08-08 19:44:24 / 个人分类:性能/压力测试

abench命令学习
r i F2ng%K&`0[admin@dn128015 loadtest]$ ./abench1751Testing软件测试网 n}GER4\)N
usage: ./abench_2.0.7_release [-p parallel number] [-r rate(cycletime)]51Testing软件测试网VI1j;X4|L
[-s seconds ] [-f fetches number]51Testing软件测试网8J1s3H5Jyd~5v
[-k] [--help] [--version]
$A;Nt@$v0<hostname> <port> <query-directory>51Testing软件测试网 E!A!H[C0Kk ^ f;A}5z
-p<num> : run with <num> parallel clients [0] 并发client数
1P?.r'bL!cg,u0-r<num> : make <num> requests each second [0] 每秒请求数,类似于QPS.
m,u+{ }~zoqU0-s<num> : run the test for <num> seconds [0] 执行时间,单位是s
+|4t*TWO}v"p0-f<num> : run the test for <num> fetches [0] 请求数,有f=r*s51Testing软件测试网M)C&ho1vsj6P+z
-l <num> : error log file path, default-value:error.log 错误日志文件路径
u6S:E"f pq3?9fE {1k0-a <string> : access log file path 日志路径
/b@ |$z.{9b0-k : enable http keep-alive 保持客户端和服务器的连接,如果已连接上,则在这个连接上发送请求,接收请求。
N/A2M_*_P0--help : show help info 帮助信息
f)D*`:j}B0--version : show version 版本号51Testing软件测试网r4pIk;M c
<query-directory> : Directory of query file 查询文件所在的目录51Testing软件测试网"Cd6f+`zG d
One start specifier, either -parallel or -rate, is required. 开始标识,或-p或-r
e)wV8|gpL7Z0One end specifier, either -fetches or -seconds, is required. 结束标识,或-f或-s51Testing软件测试网h~h&O%X8`j
<hostname> and <port> is required.主机名和端口号是必须的51Testing软件测试网R.wAK9@l
eg: ./abench -p 10 -s 10 --http -o log.txt -k 10.0.0.0 12345 ~/queryDir51Testing软件测试网8N]7`?a#ml_
./abench -p 10 -s 10 --tcp 10.0.0.0 12345 ~/searcherQueryDir -k51Testing软件测试网6E(WW}.T'@*V
./abench -p 5 -s 5 s004157.cm6 80 top10w_cache51Testing软件测试网Td.QL5}!y;i
./abench -r 80 -f 400 s004157.cm6 80 top10w_cache51Testing软件测试网 k4{BKuWv t


*Q9O;F8_T0abench压力测试实践51Testing软件测试网8E8Gn F+S;nZ"R
1.熟悉搜索引擎环境
+_-oE f!f$Z2]/vj;\0

V(p,d/K E)d-|0
?zK ]k z{-A7@~k02.执行压力测试
51Testing软件测试网G)e!q WJ}6p
[admin@dn128015 loadtest]$./abench17 -p 20 -s 300 -l error.log merge128013.sqa.cm4 2087 query.case1
kGBx$D*g:v0X0--- FROM(08/05/11 11:38:51) TO(08/05/11 11:43:51) TIME-USED(0h-5min-0s)51Testing软件测试网m4|}-u3X r
--- CMD:abench1.7.2 -p 20 -s 300 -l error.log merge128013.sqa.cm4 2087 query.case151Testing软件测试网EEb:W/v)n
Query Success Per Second: 681.38 //每秒成功处理请求数
B(G_0C5~.xWp0Query Success Number: 204415 //成功处理请求总数51Testing软件测试网;|? a'R*ko/x
Query Failed Number: 0 //请求失败数
(^qq5fjkA$K0Query Timeout Number: 0 //请求超时数51Testing软件测试网U0Mnp@` K
Connect Failed Number: 0 //连接失败数
$n f] fz&F U1]N _0NoDocsReturnNumber: 176162 (86.1786%) //无结果返回的请求数
U&Bx*uEJII8h0AverageDocsReturnNumber: 20.22157 //平均返回宝贝数
JN:F dn(@0NoDocsFoundNumber: 160100 (78.3211%) //没有找到宝贝的请求数
E)Li#rrFd!Cgi0AverageDocsFoundNumber: 5452.12429 //平均找到宝贝数51Testing软件测试网DtJa6l4X
//以上4个参数跟前端貌似没关系,abench本来是用来压测引擎iSearch的,这几个都是后端需要关注的51Testing软件测试网 uuY]*@`#V
Match Failed Number: 0 //两个相同的请求,返回结果不匹配的总数51Testing软件测试网"W FV9S5mYauO
Average Response Time: 29.2 ms //平均响应时间51Testing软件测试网![ uRRX-\
Min Response Time: 0.7 ms //最小响应时间
m0k(s` qG0G0Max Response Time: 373.7 ms //最大响应时间51Testing软件测试网+XG,}lu#}
25 Percentile: 8.3 ms //25%的请求响应时间小于等于8.3ms
;k q8{:SR5e*F.t050 Percentile: 13.4 ms //50%的请求响应时间小于等于13.4ms
/E#Y"EN{*|KC075 Percentile: 22.5 ms //75%的请求响应时间小于等于22.5ms
'O(_kl,i8z/Y)r DU090 Percentile: 36.0 ms //90%的请求响应时间小于等于36.0ms51Testing软件测试网2X[IJe fnr
95 Percentile: 46.1 ms //95%的请求响应时间小于等于46.1ms
%u9v%b0EmR2az3~,q099 Percentile: 66.9 ms //99%的请求响应时间小于等于66.9ms
L(p9H%ph?0
"xn`H(Jp,R_| ^v051Testing软件测试网 a]*k:SS
3.查看log,确认运行51Testing软件测试网6oyU&R It7F |t$J
路径如/home/admin/apache/logs/search/
Sn*c;Tod!@GV'X051Testing软件测试网,j7CI2@9s3Q
51Testing软件测试网|qx&R#tB%V;h
4.关注top参数,主要有2个

LyF8q~%B c[-O9f0top - 19:31:21 up 158 days, 47 min, 12 users,load average: 1.57, 1.31, 0.7551Testing软件测试网{ ?w;Z _.M Q
#(第1行:基本信息)当前时间、系统启动时间、当前系统登录用户数目、平均负载51Testing软件测试网2N a"Z9B2nn MS
Tasks: 232 total, 1 running, 226 sleeping, 5 stopped, 0 zombie
:un'_(@-\(^0#(第2行:进程情况)进程总数、运行进程数、休眠进程数、终止进程数、僵死进程数
Q(aB VP|,r'b?0Cpu(s):0.0%us,0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
$f7t(@gu0#(第3行:CPU状态)用户占用、系统占用、优先进程占用、闲置进程占用、等待进程占用、硬件中断进程占用、软件进程中断占用、 溜走时间
F)IF*s~5ep0Mem: 24676336k total, 24584800k used, 91536k free, 61564k buffers
6tn1pE6VL/a0#(第4行:内存状态)总的可用内存、已用内存、空闲内存、缓存使用内存
8~ h)M@l1ue,?!BI0Swap: 8385920k total, 38512k used, 8347408k free, 21756568k cached51Testing软件测试网SQ.~J+TF&rB
#(第5行:交换状态)总的可用交换容量、已用容量、闲置容量、高速缓存容量51Testing软件测试网 |!L Z,Y$|

51Testing软件测试网d \N0@J/?+smB/U!s

http keep-alive详见http://liuzhigong.blog.163.com/blog/static/1782723752011412551547/
^-\+^+x'P?3J2^0
R!{ q4~1YX"D hd0

#X*a[ d m^z0

/K`)T#e.@0清妃补充
yZW`-w7A)l9g0-p -r和-s -f是要分开用的,这两组里面各指定一个参数51Testing软件测试网9v^o+Gs,{;mB$OW
就是比如./abench -p 10 -r 10 ..这种是不行的;同样的,./abench -s 10 -f 10 ..也是不行的51Testing软件测试网,T;?{ Vh!k ^

51Testing软件测试网iS.w.I5}XI+Rb^

match failed number 这个应该是指同一query两次返回不一致的,比方测试QP 引擎,两次返回应该是一致,如果不一致就有问题了,
:C8E#ej!p@ J0前端还好,因为后端的数据一直在变的,前端返回的HTML不一致是很正常的
8PV9Su2l~051Testing软件测试网1YYG2q Q w
前端比较关注两个指标:QPS和response time;51Testing软件测试网G _`(Oig\t
如果测试后端的话可能还会要关注match failed number

ND.{_w4J4bc0

"R$XY'DRD)AtB0此外还需要了解:51Testing软件测试网ZBmG3Z#O:zSCu
simon怎么部署怎么看;
n(c{ z+dX)l0用一下http_load用法和abench基本差不多。  

H]:~(uJ K*H0

TAG: abench 压力测试

 

评分:0

我来说两句

Open Toolbar