转:使用Siege进行WEB压力测试
上一篇 / 下一篇 2009-06-07 10:42:25 / 个人分类:Siege
],Gya7GXKJ0 虽然Apache自带一个压力测试工具ab,但是ab的功能太简单了,无法模拟真实的web访问,所以我们要用到更加强大的web压力测试工具——Siege(英文原意:围攻)。
-} O-Z3b&_,qy:SV051Testing软件测试网#~?Y;I4B*Bd7H首先,进行安装:
&lOs};cz/qd.M051Testing软件测试网[2@4v$o(O7T^wgetftp://ftp.joedog.org/pub/siege/siege-latest.tar.gz51Testing软件测试网wd6t#X[o tar zxvf siege-latest.tar.gz51Testing软件测试网i0pw-DeD4EI/Q1x9J$p-m cd siege-2.6751Testing软件测试网gjqVm/_ s ./configure gM3i8DR#~0make && make install |
ra1I_K8~9i0 安装完成后,就可以开始进行压力测试了51Testing软件测试网nc5z$tZ
q]B.wQ0 修改siege配置
j~8vQG051Testing软件测试网K-puWm`x!Yvi ~/.siegerc
h5V/k \s-V@0x3oSk:e!E?0 调整:
?;}D y:tPb#w]051Testing软件测试网JHe~5n3[overbose = false V0Qy*SQYP2w0concurrent = 50 )lH iA4j6caw0delay = 151Testing软件测试网g5eaZR:w6A6Tb1@ internet = true51Testing软件测试网mu0Nd9z-T)K@ benchmark = true |
siege参数介绍:
2Eq)r&GA;v'K0$eY@g]b0 * -cNUM
1Y4hC(q%IC7Y051Testing软件测试网 X;k_{4Z1W yN设置并发的用户(连接)数量,比如-c10,设置并发10个连接。默认的连接数量可以到~/.siegerc中查看,指令为concurrent = x,前面咱们已经调整了默认并发连接为50。51Testing软件测试网x;\5SX1`,T D
@^1i/{4['[0 * -rNUM51Testing软件测试网| F:L9v,hD
51Testing软件测试网0b4l?y,FBB(repetitions),重复数量,即每个连接发出的请求数量,设置这个的话,就不需要设置-t了。对应.siegerc配置文件中的reps = x指令51Testing软件测试网-XT HL:n^q
Yb-md-q4LB(Q R0 * -tNUM
? o!wr0D"a Yd e0^7RCGS/^#B5B?afhe0 (time),持续时间,即测试持续时间,在NUM时间后结束,单位默认为分,比如-t10,那么测试时间为10分钟,-t10s,则测试时间为10秒钟。对应.siegerc中的指令为time = x指令
2X+ps4Gi(ZaO.y0/@ I`9iV%O$l0 * -b51Testing软件测试网m3i#Ao{nIfM
51Testing软件测试网 J"e*G}F Vx'V(benchmark),基准测试,如果设置这个参数的话,那么delay时间为0。在.siegerc中咱们修改为默认开启。
%{CYEi"HP051Testing软件测试网7~6r0[r\2X6DX* -f url.txt
(xjj*Q%L7M0d S/Y P^0S9T;Y9w-Oj?`}b0 (file),这是url列表文件。对应.siegerc配置文件中的file = x指令51Testing软件测试网RCFfZ~i R
aq0d@!T~$r}.\0 测试结果分析:
~2R)e I5lVQm2n,B051Testing软件测试网Z$Siv"Eqcc[root@bbs ~]# siege -c 500 -r 50 -f shunz.net.url 8o oVD KFUr0** SIEGE 2.67 @`v5E&}|.JO%F.L0Y0** Preparing 500 concurrent users for battle.51Testing软件测试网 T(b7dKGo;q The server is now under siege.. done. C&o3O)d8\'E%a~ z"I0Transactions: 25000 hits51Testing软件测试网&ZsW3U)sV"ZM/B Availability: 100.00 %51Testing软件测试网4Hw@5H'Jtt#i Elapsed time: 65.52 secs D+tLx{I'mw0Data transferred: 83.65 MB51Testing软件测试网orNZYOGR Response time: 0.57 secs x2i)XZ||r0Transaction rate: 381.56 trans/sec @ZTIrX0Throughput: 1.28 MB/sec51Testing软件测试网1Li,r#T a7A |e'_ Concurrency: 216.0251Testing软件测试网'y X.s%Uo Successful transactions: 21707 /hSdrW0Failed transactions: 051Testing软件测试网V kI_g*E KF Longest transaction: 5.8351Testing软件测试网dc#g6RO Shortest transaction: 0.00 |
上面是用500并发重复测试50次shunz.net.url里的url列表的结果,下面一条一条地分析测试结果:51Testing软件测试网!s0ksKb)XS;~
51Testing软件测试网{^{!~+uGpKTransactions: 25000 hits 意思是总共完成了25000次测试51Testing软件测试网Duh,S j(s
51Testing软件测试网g,DZZ/m7pAvailability: 100.00 % 测试的有效性100%