IT技术博客大学习 共学习 共进步

压力测试软件 Siege 的正确用法

扶凯 2010-06-25 12:19:51 浏览 4,309 次

近来想研究一下常见的压力测试软件,对比一下,是选择其中哪一个最合适使用,从压力测试的准确性和功能二方面对比。近来就开始放狗来查相关的资料。

在使用 Siege 时,参加网上的文件,包括 东东 的,发现大家好象对 Siege 有错误的认识。大家使用 Siege 打出的压力,每秒的处理数量和真实的处理数据分别大太。。。还有人解释讲,默认 Apache  设置之关有关,所以不能打到很高的压力,只能打出每秒处理 200 多个请求。

我刚开始测试时,也发现这个问题。。。很奇怪。因为我拿了几种压力测试软件来对比,别的压力测试软件,可以打到 6k/s 的量,发现只有这个 Siege 打的最慢,才 200/s.这个当然不正常.就认真看了看 Siege  的参数。

1.Siege 默认参数进行压力测试

下面这是我默认参照别人打出来的压力:

我使用的命令参数如下,并发 200 , 重复 150 次,打 3W 压力:

 siege -c 200 -r 150 -f /root/4k.list

得出的结果如下,慢到不行:

Transactions:                  30000 hits
Availability:                 100.00 %
Elapsed time:                  89.42 secs
Data transferred:             117.19 MB
Response time:                  0.00 secs
Transaction rate:             335.50 trans/sec
Throughput:                     1.31 MB/sec
Concurrency:                    0.70
Successful transactions:       30000
Failed transactions:               0
Longest transaction:            0.14
Shortest transaction:           0.00

2. Siege 分析和了解

后来只能认真的看看 Siege 的参数。来学习怎么样使用,发现了几个不错的参数和为什么这么慢。因为每次打完后都要延时一下 .

  -d, --delay=NUM         Time DELAY, random delay between 1 and num designed
                          to simulate human activity. Default value is 3

 我们常用的参数:

-c 200   并发200个用户
-r 150      重复循环150次
-f 4k.list     任务的URL列表

其它实用参数:

-i  随机 URL ,默认是从列表的上面到下面来打压力
-b 进行压力测试,不进行延时

-t  持续时间,即测试持续时间,在NUM时间后结束,单位默认为分

3.Siege 修正参数进行压力测试

这样打出的压力当然不真实。我不是做功能测试,我是做压力测试。所以重新选择参数,打一样的压力。

siege -c 200 -r 150 -f /root/4k.list  -i -b

 这次输出看起来相当不错了。

Transactions:                  30000 hits
Availability:                 100.00 %
Elapsed time:                  12.73 secs
Data transferred:             117.19 MB
Response time:                  0.08 secs
Transaction rate:            2356.64 trans/sec
Throughput:                     9.21 MB/sec
Concurrency:                  176.86
Successful transactions:       30000
Failed transactions:               0
Longest transaction:            0.60
Shortest transaction:           0.00

建议继续学习

  1. Xvfb+YSlow+ShowSlow搭建前端性能测试框架 (阅读 55,344)
  2. 安全测试与渗透测试区别 (阅读 24,825)
  3. 使用Fiddler对手机应用进行抓包测试 (阅读 8,463)
  4. 服务器性能测试工具推荐 (阅读 7,904)
  5. 给Apache做压力测试时遇到的问题 (阅读 7,184)
  6. WEB性能测试工具推荐 (阅读 6,945)
  7. 可用性测试好助手——Morae软件的应用 (阅读 6,684)
  8. 12款很棒的浏览器兼容性测试工具推荐 (阅读 6,146)
  9. 性能测试工具sysbench简介 (阅读 5,905)
  10. 可用性测试的权衡之道(二) (阅读 5,722)