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

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

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

Qw~}Mj0  虽然Apache自带一个压力测试工具ab,但是ab的功能太简单了,无法模拟真实的web访问,所以我们要用到更加强大的web压力测试工具——Siege(英文原意:围攻)。51Testing软件测试网`%TY S+}w*WC)X'jl

51Testing软件测试网)?Eutv)N/M

  首先,进行安装:

8n0l5MqP;~${[1^^ ?0

yl WQ.V#hk0

wgetftp://ftp.joedog.org/pub/siege/siege-latest.tar.gz
TN8u/le'Q0tar zxvf siege-latest.tar.gz51Testing软件测试网c.A3JFR"hJ?
cd siege-2.6751Testing软件测试网N!qtj;SU
./configure
n~"Y0o.U G9g`0make && make install

ol@U p$a GH.Sg A0

y#SO1usq?#e0  安装完成后,就可以开始进行压力测试了51Testing软件测试网1H0p |7R9^0p)U

51Testing软件测试网:Y8_cH^M$t"u

  修改siege配置

cl+cj)@l/q051Testing软件测试网[K(PY+Hbc;^6i

  vi ~/.siegerc

'ODRmx W/xt{0

1a9{4~Q-NPx!N O B0  调整:

!gUq7IQ5~051Testing软件测试网1qjR:O H/PZ8^p V

verbose = false51Testing软件测试网 B;H a8P3x
concurrent = 5051Testing软件测试网 OH1@(GJIVue
delay = 151Testing软件测试网_2`[LKJS
internet = true
p}^'k8t oV0benchmark = true

d-g/jp7v:V Dr0

bzz4`0GKZJ+r0  siege参数介绍:

5D;Pxu&az!C0

AyzbI,N+t2`0  * -cNUM

G;v,BJO!XG K051Testing软件测试网 E/A$X)aw't#Q'j*X

  设置并发的用户(连接)数量,比如-c10,设置并发10个连接。默认的连接数量可以到~/.siegerc中查看,指令为concurrent = x,前面咱们已经调整了默认并发连接为50。51Testing软件测试网:s x5n[|2hl$|3DK

6H3?Ush+O+B5r0  * -rNUM51Testing软件测试网i:T1zYU2Z_ ~k

51Testing软件测试网'h8p u$E?8b

  (repetitions),重复数量,即每个连接发出的请求数量,设置这个的话,就不需要设置-t了。对应.siegerc配置文件中的reps = x指令51Testing软件测试网_w,YZ0wFl

?8w-D3`/uTo.M9e0  * -tNUM51Testing软件测试网3HV*xof]

51Testing软件测试网 {!x)u _h;]hh

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

-F ]8R!bB8g+G0

s'v)L} G9I6z0  * -b51Testing软件测试网1v&O`Xm~'R4^JF4Hr

51Testing软件测试网f_(ru/MIFt

  (benchmark),基准测试,如果设置这个参数的话,那么delay时间为0。在.siegerc中咱们修改为默认开启。

8q ou#V?*UZ0

f"tp L$b`2y4E0  * -f url.txt

aG2ou.@#DgV0

bp[GHU XZ)Q0  (file),这是url列表文件。对应.siegerc配置文件中的file = x指令

4e7?2F}5pq`0

.ic?J N*w l0}0W;B0  测试结果分析:51Testing软件测试网6VW(qLN9Q$FUF4d$t

51Testing软件测试网.SR|Q(f Q|

[root@bbs ~]# siege -c 500 -r 50 -f shunz.net.url51Testing软件测试网;I5\r^UC:a^+Q+S!b
** SIEGE 2.67
I|F+Z s:ayW0** Preparing 500 concurrent users for battle.51Testing软件测试网V$Z@-fM_ N-}
The server is now under siege..      done.51Testing软件测试网5hjkL%h*x zLf
Transactions:                  25000 hits51Testing软件测试网Cy d1sE(y,P
Availability:                 100.00 %51Testing软件测试网w,Ocd\
Elapsed time:                  65.52 secs
0Bx6e AF2c0Data transferred:              83.65 MB
&w5D _g]aJ0Response time:                  0.57 secs51Testing软件测试网-Udd.|Sep.`
Transaction rate:             381.56 trans/sec
FJ%[)yA0Throughput:                     1.28 MB/sec
+oeP+A\0B'U8H0GV;|0Concurrency:                  216.02
"nz6y&W8o,Ju1R&d&T0Successful transactions:       2170751Testing软件测试网E B8b j`%m
Failed transactions:               051Testing软件测试网-U?@MlXze9l
Longest transaction:            5.83
wip @tm'X0Shortest transaction:           0.00
51Testing软件测试网B P~P([ez8V

51Testing软件测试网 KlN:wuX

  上面是用500并发重复测试50次shunz.net.url里的url列表的结果,下面一条一条地分析测试结果:

BHL uG R^0

'U%U%k-O^B'_l!F]0  Transactions: 25000 hits  意思是总共完成了25000次测试51Testing软件测试网]K }I)H },qh~$lH%r

3YBk)Pm0  Availability: 100.00 %  测试的有效性100%

j(U*j"k:DJ)v0

_M'_GGyoI0  Elapsed time: 65.52 secs  用时65.52秒

}}9m%Si051Testing软件测试网"z%n3T9ec p

  Data transferred: 83.65 MB  传输了83.65MB数据51Testing软件测试网&A Q |*ZuV:\5B Wi0D*fi

51Testing软件测试网V/Df8d8sE7}R%F

  Response time: 0.57 secs  响应时间51Testing软件测试网O3f$k$Met$O g6K~ `

51Testing软件测试网 f;P \ {$VD }-@ w \ c

  Transaction rate: 381.56 trans/sec  每秒传输381.56次51Testing软件测试网6lH9NP+p]M

oKvL-@4O0  Throughput: 1.28 MB/sec  数据吞吐量每秒1.28MB51Testing软件测试网y.s$Me ] n_&f

51Testing软件测试网f`.e J7q0Q[

  Concurrency: 216.02  实际并发访问51Testing软件测试网\B,ZHPQ

51Testing软件测试网R&Zxa%z0P

  Successful transactions: 21707  成功的传输51Testing软件测试网 d*o)d+|!J6x;q(X

l~5bQ+W%e#w\8bX0  Failed transactions: 0  失败的传输51Testing软件测试网yg|7Tz*R

]oa(P3jG0  Longest transaction: 5.83  每次传输所花最长时间

g4_Z(rD5R0

7_ox!@Mj$j0  Shortest transaction: 0.00  每次传输所花最短时间51Testing软件测试网Sq7R_H"~+{p

51Testing软件测试网,K5k D8}*EK`dq

  另外,提醒一句,如果你的WEB服务器用的是Apache,请不要将并发数设为大于200。51Testing软件测试网L7[L@u z X


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

 

评分:0

我来说两句

Open Toolbar