十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

转:使用Siege进行WEB压力测试

上一篇 / 下一篇  2009-06-07 10:42:25 / 个人分类:Siege

],Gya7GXKJ0  虽然Apache自带一个压力测试工具ab,但是ab的功能太简单了,无法模拟真实的web访问,所以我们要用到更加强大的web压力测试工具——Siege(英文原意:围攻)。

-} O-Z3b&_,qy:SV051Testing软件测试网#~? Y;I4B*Bd7H

  首先,进行安装:

&lOs};c z/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

VP5Di r1DE0

ra1I_K8~9i0  安装完成后,就可以开始进行压力测试了51Testing软件测试网nc5z$tZ

q]B.wQ0  修改siege配置

j~8vQG051Testing软件测试网K-puWm`x!Y

  vi ~/.siegerc

h5V/k\s-V@0

x3oSk:e!E?0  调整:

?;} D y:tPb#w]051Testing软件测试网JHe~5n3[o

verbose = false
V0Qy*SQYP2w0concurrent = 50
)lH iA4j6caw0delay = 151Testing软件测试网g5eaZR:w6A6Tb1@
internet = true51Testing软件测试网mu0Nd9z-T)K@
benchmark = true

)|4SS4FG+o7K7I)y,e:X051Testing软件测试网p{Q8S!?J

  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(QR0  * -tNUM

? o!wr0D"a Yde0

^7RCG S/^#B5B?afhe0  (time),持续时间,即测试持续时间,在NUM时间后结束,单位默认为分,比如-t10,那么测试时间为10分钟,-t10s,则测试时间为10秒钟。对应.siegerc中的指令为time = x指令

2X+ps4Gi(ZaO.y0

/@ I`9iV%O$l0  * -b51Testing软件测试网m3i#A o {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^0

S9T;Y9w-Oj?`}b0  (file),这是url列表文件。对应.siegerc配置文件中的file = x指令51Testing软件测试网 RC FfZ~i R

aq0d@!T~$r}.\0  测试结果分析:

~2R)e I5l VQm2n,B051Testing软件测试网Z$S iv"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
@ Z TIrX0Throughput:                     1.28 MB/sec51Testing软件测试网1Li,r#Ta7A |e'_
Concurrency:                  216.0251Testing软件测试网'y X.s%Uo
Successful transactions:       21707
/hSdrW0Failed transactions:               051Testing软件测试网V kI_g*EKF
Longest transaction:            5.8351Testing软件测试网dc#g6RO
Shortest transaction:           0.00
51Testing软件测试网E-g0dN0l

51Testing软件测试网F7Ts-qx,pQTm

  上面是用500并发重复测试50次shunz.net.url里的url列表的结果,下面一条一条地分析测试结果:51Testing软件测试网!s0ksKb)XS;~

51Testing软件测试网{ ^{!~+uG pK

  Transactions: 25000 hits  意思是总共完成了25000次测试51Testing软件测试网Du h,S j(s

51Testing软件测试网g,DZZ/m7p

  Availability: 100.00 %  测试的有效性100%

{u:C Sn5z b%xI|?D0b0

(`s{8o4TT)w0  Elapsed time: 65.52 secs  用时65.52秒

8Y-U;c\wD051Testing软件测试网 ["iK;K#u

  Data transferred: 83.65 MB  传输了83.65MB数据51Testing软件测试网m;aR0](T1NX)n/o

51Testing软件测试网9\kwj8? H[:UI

  Response time: 0.57 secs  响应时间51Testing软件测试网/H#RGg0V6L

?Lo0@o/aR0  Transaction rate: 381.56 trans/sec  每秒传输381.56次51Testing软件测试网8V/egW1d*tp

51Testing软件测试网y `md;]RD,]m

  Throughput: 1.28 MB/sec  数据吞吐量每秒1.28MB

d&GD1@ ]]0

8W~1?!T-@'J0CU0  Concurrency: 216.02  实际并发访问51Testing软件测试网G7{/{Bbxw"xs G$M

51Testing软件测试网5SH:qX c fbJ A

  Successful transactions: 21707  成功的传输51Testing软件测试网gwK.li(C1[j]"i

|2]u[JsCg"`0  Failed transactions: 0  失败的传输

4?h;v/p!Iyn0

K T7sA+B:p0  Longest transaction: 5.83  每次传输所花最长时间

7@ A!L6X|4k gS051Testing软件测试网1m g{ e"G,A#Rn

  Shortest transaction: 0.00  每次传输所花最短时间51Testing软件测试网vR8Gef:m&}

+y1a W#H!|u S R0  另外,提醒一句,如果你的WEB服务器用的是Apache,请不要将并发数设为大于200。

OPz0\E f%S&k0

TAG: 压力测试 Web测试 Siege WEB测试

洛冰筠的个人空间 引用 删除 洛冰筠   /   2011-03-23 16:24:21
怎么和你联系啊?可以加Q吗?281078589
 

评分:0

我来说两句

Open Toolbar