Siege 简单教程

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

安装完siege后,修改siege配置,查找siegerc文件,然后 vim siegerc

调整:

verbose = false
concurrent = 50
delay = 1
internet = true
benchmark = true

siege参数介绍:

* -c NUM

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

* -r NUM

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

* -t NUM

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

* -b

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

* -f url.txt

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

测试结果分析:

[root@ubutu ~]# siege -c 500 -r 50 -f shunz.net.url
** SIEGE 2.67
** Preparing 500 concurrent users for battle.
The server is now under siege..     done.
Transactions:              25000 hits
Availability:              100.00 %
Elapsed time:              65.52 secs
Data transferred:            83.65 MB
Response time:              0.57 secs
Transaction rate:            381.56 trans/sec
Throughput:               1.28 MB/sec
Concurrency:               216.02
Successful transactions:           21707
Failed transactions:           0
Longest transaction:           5.83
Shortest transaction:          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,并发,教程,压力测试,siege)