html5压力测试,使用Siege进行WEB压力测试

Web压力测试的工具:微软的Web Application Stress、Linux下的siege、功能全面的Web-CT等等,这些都是非常优秀的Web压力测试工具。

最早使用的web压力测试工具是apache的,apache ab做重复压力测试不错,但是每次只能测试一个链接,如何测试一组链接(比如从日志中导出的1个小时的日志,做真实压力测试).

是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。

SIEGE is an http regressive testing and benchmarking utility. It was designed to let web developers measure the performance of their code under duress, to see how it will stand up to load on the internet. It lets the user hit a webserver with a configurable number of concurrent simulated users. Those users place the webserver "under siege." The duration of the siege is measured in transactions, the sum of simulated users and the number of times each simulated user repeats the process of hitting the server. Thus 20 concurrent users 50 times is 1000 transactions, the length of the test.

下载/安装

下载:

wget ftp://sid.joedog.org/pub/siege/siege-latest.tar.gz

安装:

./configure ; make

#make install

siege包含了一组压力测试工具:

SIEGE (1) Siege是一个HTTP压力测试和评测工具.

使用样例:

任务列表:文件

acdsee.html

ant.html

apache_install.html

awstats.html

cache.html

click.html

cms.html

compress.html

cvs_card.html

default.html

dev.html

gnu.html

....

siege -c 20 -r 2 -f

参数说明:

-c 20 并发20个用户

-r 2 重复循环2次

-f 任务列表:URL列表

输出样例:

** Siege 2.59

** Preparing 20 concurrent users for battle. 这次“战斗”准备了20个并发用户

The server is now under siege.. done. 服务在“围攻”测试中:

Transactions: 40 hits 完成40次处理

Availability: 100.00 % 成功率

Elapsed time: 7.67 secs 总共用时

Data transferred: 877340 bytes 共数据传输:877340字节

Response time: 1.65 secs 相应用时1.65秒:显示网络连接的速度

Transaction rate: 5.22 trans/sec 平均每秒完成5.22次处理:表示服务器后台处理的速度

Throughput: 114385.92 bytes/sec 平均每秒传送数据:114385.92字节

Concurrency: 8.59 最高并发数 8.59

Successful transactions: 40 成功处理次数

Failed transactions: 0 失败处理次数

注意:由于速度很快,可能会达不到并发速度很高就已经完成。Response time显示的是测试机器和被测试服务器之间网络链接状况。Transaction rate则表示服务器端任务处理的完成速度。

辅助工具:

增量压力测试:

为了方便增量压力测试,siege还包含了一些辅助工具:

bombardment (1)

是一个辅助工具:用于按照增量用户压力测试:

使用样例:

bombardment urlfile.txt 5 3 4 1

初始化URL列表:urlfile.txt

初始化为:5个用户

每次增加:3个用户

运行:4次

每个客户端之间的延迟为:1秒

输出成CSV格式:

siege2csv.pl (1)

siege2csv.pl将bombardment的输出变成CSV格式:

Time Data Transferred Response Time Transaction Rate Throughput Concurrency Code 200 (note that this is horribly broken.)

242 60.22 603064 0.02 4.02 10014.35 0.08

605 59.98 1507660 0.01 10.09 25136.05 0.12

938 59.98 2337496 0.02 15.64 38971.26 0.26

1157 60 2883244 0.04 19.28 48054.07 0.78

首先,进行安装:wget ftp://ftp.joedog.org/pub/siege/siege-latest.tar.gztar zxvf siege-latest.tar.gz

cd siege-2.67./configure

make&&make install安装完成后,就可以开始进行压力测试了

修改siege配置

vi ~/.siegerc

调整:

verbose=falseconcurrent=50delay=1internet=truebenchmark=true

siege参数介绍:

* -cNUM

设置并发的用户(连接)数量,比如-c10,设置并发10个连接。默认的连接数量可以到~/.siegerc中查看,指令为concurrent = x,前面咱们已经调整了默认并发连接为50。

* -rNUM

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

* -tNUM

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

* -b

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

* -f url.txt

(file),这是url列表文件。对应.siegerc配置文件中的file = x指令测试结果分析:[root@bbs~]# siege -c 500 -r 50 -f shunz.net.url**SIEGE2.67**Preparing500concurrent usersforbattle.Theserverisnow under siege..done.Transactions:25000hitsAvailability:100.00%Elapsedtime:65.52secsDatatransferred:83.65MBResponsetime:0.57secsTransactionrate:381.56trans/secThroughput:1.28MB/secConcurrency:216.02Successfultransactions:21707Failedtransactions:0Longesttransaction:5.83Shortesttransaction:0.00

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

Transactions: 25000 hits

意思是总共完成了25000次测试

Availability: 100.00 %

测试的有效性100%

Elapsed time: 65.52 secs

用时65.52秒

Data transferred: 83.65 MB

传输了83.65MB数据

Response time: 0.57 secs

响应时间

Transaction rate: 381.56 trans/sec

每秒传输381.56次

Throughput: 1.28 MB/sec

数据吞吐量每秒1.28MB

Concurrency: 216.02

实际并发访问

Successful transactions: 21707

成功的传输

Failed transactions: 0

失败的传输

Longest transaction: 5.83

每次传输所花最长时间

Shortest transaction: 0.00

每次传输所花最短时间

如果你的WEB服务器用的是Apache,请不要将并发数设为大于200。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值