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

初学abench压力测试

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

abench命令学习51Testing软件测试网`%\P\-GrPh
[admin@dn128015 loadtest]$ ./abench1751Testing软件测试网Pf xVC!\L:I${1E
usage: ./abench_2.0.7_release [-p parallel number] [-r rate(cycletime)]
y0G:\x(W4|NR0[-s seconds ] [-f fetches number]
8?0{n j'I(o C\0[-k] [--help] [--version]
a,O tTE d^0<hostname> <port> <query-directory>51Testing软件测试网 o-\\5N`s KiO
-p<num> : run with <num> parallel clients [0] 并发client数
K/~NycS3]5~0-r<num> : make <num> requests each second [0] 每秒请求数,类似于QPS.
t.As2`S*k^h]o0-s<num> : run the test for <num> seconds [0] 执行时间,单位是s51Testing软件测试网a#S mZ0Te;Lu
-f<num> : run the test for <num> fetches [0] 请求数,有f=r*s51Testing软件测试网]Q!_"U?j
-l <num> : error log file path, default-value:error.log 错误日志文件路径51Testing软件测试网"`GG;_Yh
-a <string> : access log file path 日志路径51Testing软件测试网${5p*?UAD;n
-k : enable http keep-alive 保持客户端和服务器的连接,如果已连接上,则在这个连接上发送请求,接收请求。51Testing软件测试网Y/j'n e%uTev!l
--help : show help info 帮助信息
*J*t2OF@Dg0--version : show version 版本号51Testing软件测试网| k6T&O4o%b L
<query-directory> : Directory of query file 查询文件所在的目录51Testing软件测试网 `(d;oPDncs
One start specifier, either -parallel or -rate, is required. 开始标识,或-p或-r
'\(?*Q7G"]1m0One end specifier, either -fetches or -seconds, is required. 结束标识,或-f或-s51Testing软件测试网OO(p#e.l!xb~q.}
<hostname> and <port> is required.主机名和端口号是必须的
:m3WVR~4h0eg: ./abench -p 10 -s 10 --http -o log.txt -k 10.0.0.0 12345 ~/queryDir51Testing软件测试网[;F.i@Ek\
./abench -p 10 -s 10 --tcp 10.0.0.0 12345 ~/searcherQueryDir -k
eY ` p6M3Z-R0./abench -p 5 -s 5 s004157.cm6 80 top10w_cache
%| l9XSf(S{0./abench -r 80 -f 400 s004157.cm6 80 top10w_cache51Testing软件测试网pG`IY0{+gl J\"Q

51Testing软件测试网 \C+b^O
abench压力测试实践51Testing软件测试网1t:T6z&k6K
1.熟悉搜索引擎环境
R1Xbv'o0

\O$sv0e)G/s051Testing软件测试网&_/Ck.Lj[c
2.执行压力测试

4s8H0jma0[admin@dn128015 loadtest]$./abench17 -p 20 -s 300 -l error.log merge128013.sqa.cm4 2087 query.case151Testing软件测试网'H h:EA ^A^r
--- FROM(08/05/11 11:38:51) TO(08/05/11 11:43:51) TIME-USED(0h-5min-0s)
v M \0U(Su.h(}0--- CMD:abench1.7.2 -p 20 -s 300 -l error.log merge128013.sqa.cm4 2087 query.case151Testing软件测试网)IVFb(An
Query Success Per Second: 681.38 //每秒成功处理请求数
9CZv9|%?} `u6o0Query Success Number: 204415 //成功处理请求总数51Testing软件测试网~"iJ4R"w
Query Failed Number: 0 //请求失败数51Testing软件测试网Pu:g,P @a
Query Timeout Number: 0 //请求超时数51Testing软件测试网U6E(_K]MG Y)|%r
Connect Failed Number: 0 //连接失败数51Testing软件测试网7]ce1]8C#H [
NoDocsReturnNumber: 176162 (86.1786%) //无结果返回的请求数
ES^~-G.L-[+D0AverageDocsReturnNumber: 20.22157 //平均返回宝贝数51Testing软件测试网p6b/G'EOX:xt1U3m Q
NoDocsFoundNumber: 160100 (78.3211%) //没有找到宝贝的请求数
*_|q,a^I9A0AverageDocsFoundNumber: 5452.12429 //平均找到宝贝数51Testing软件测试网N,]y!d.A%X
//以上4个参数跟前端貌似没关系,abench本来是用来压测引擎iSearch的,这几个都是后端需要关注的
;@1ff*Wc9[:E6|0
Match Failed Number: 0 //两个相同的请求,返回结果不匹配的总数
@w&a-o%D0?)C0Average Response Time: 29.2 ms //平均响应时间
v&q$N'Ps,F"L"i8r0Min Response Time: 0.7 ms //最小响应时间51Testing软件测试网n'q(G F0D f
Max Response Time: 373.7 ms //最大响应时间51Testing软件测试网EK W}bQb
25 Percentile: 8.3 ms //25%的请求响应时间小于等于8.3ms
?-Eh-oV ~-f050 Percentile: 13.4 ms //50%的请求响应时间小于等于13.4ms
Yh6X3s0ya7Gs075 Percentile: 22.5 ms //75%的请求响应时间小于等于22.5ms
Fc ^;@!sP_090 Percentile: 36.0 ms //90%的请求响应时间小于等于36.0ms
J9W+@QjM f095 Percentile: 46.1 ms //95%的请求响应时间小于等于46.1ms51Testing软件测试网u7xK zs%W
99 Percentile: 66.9 ms //99%的请求响应时间小于等于66.9ms51Testing软件测试网o!DeA Q m k?
51Testing软件测试网v$WLb5tw@ K
51Testing软件测试网 L9l:yWNG;S
3.查看log,确认运行51Testing软件测试网dwG#P\4~ j`~
路径如/home/admin/apache/logs/search/
x0`T/A V0
j.u9M9YmR/~0
Se"E-NG!i|:J04.关注top参数,主要有2个

2utt&NkA2r0top - 19:31:21 up 158 days, 47 min, 12 users,load average: 1.57, 1.31, 0.7551Testing软件测试网:F;}F&?&P9t U U}6Y6e
#(第1行:基本信息)当前时间、系统启动时间、当前系统登录用户数目、平均负载
'n ZjU^x$L2}0Tasks: 232 total, 1 running, 226 sleeping, 5 stopped, 0 zombie51Testing软件测试网j8vKos-@
#(第2行:进程情况)进程总数、运行进程数、休眠进程数、终止进程数、僵死进程数
P1g+p BRb v,n0Cpu(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
jx O hUm];Or0#(第3行:CPU状态)用户占用、系统占用、优先进程占用、闲置进程占用、等待进程占用、硬件中断进程占用、软件进程中断占用、 溜走时间
SDi;e }\:h([k3LgL0Mem: 24676336k total, 24584800k used, 91536k free, 61564k buffers
+Ea@av'U5qSr0#(第4行:内存状态)总的可用内存、已用内存、空闲内存、缓存使用内存
#Y!p"mr(Z,d0Swap: 8385920k total, 38512k used, 8347408k free, 21756568k cached
0QHMq:_/` p0#(第5行:交换状态)总的可用交换容量、已用容量、闲置容量、高速缓存容量51Testing软件测试网 Z2bZ1G9K t h3XZk

2[w&x"_&q @q\#Q0http keep-alive详见http://liuzhigong.blog.163.com/blog/static/1782723752011412551547/
P`o9rAcW051Testing软件测试网 r}#q)\J G

8YTUQxy-c@m0

+`MT_dV0清妃补充51Testing软件测试网 Q*C.?KOA c
-p -r和-s -f是要分开用的,这两组里面各指定一个参数
$_He f il,f8]0就是比如./abench -p 10 -r 10 ..这种是不行的;同样的,./abench -s 10 -f 10 ..也是不行的51Testing软件测试网/E/z,{J-Y;c PM

k'G[:r3c-Ai0match failed number 这个应该是指同一query两次返回不一致的,比方测试QP 引擎,两次返回应该是一致,如果不一致就有问题了,51Testing软件测试网;Y#Z d!jA%@.qe
前端还好,因为后端的数据一直在变的,前端返回的HTML不一致是很正常的51Testing软件测试网1j)Pr b~;~'gI4?6~

.KU7q5q[0z[0前端比较关注两个指标:QPS和response time;
5zQ8s7zx4m0如果测试后端的话可能还会要关注match failed number

~ Y@Z$ws$j\0

8KQ)o2HD.b0此外还需要了解:
1o+i3@7h coF1ew0simon怎么部署怎么看;51Testing软件测试网yC#w^ M4J:w
用一下http_load用法和abench基本差不多。  51Testing软件测试网mRqH'gw}


TAG: abench 压力测试

 

评分:0

我来说两句

Open Toolbar