IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

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

扶凯 2010-06-25 12:19:51 累计浏览 4,422 次
本机暂存

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

在使用 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. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. 浅析http协议、cookies和session机制、浏览器缓存 (累计阅读 17,448)
  2. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,934)
  3. libcurl的使用总结(二) (累计阅读 15,085)
  4. 使用python爬虫抓站的一些技巧总结:进阶篇 (累计阅读 13,302)
  5. 在Apache2.2.XX下安装Mod-myvhost模块 (累计阅读 13,059)
  6. HTTP协议Keep-Alive模式详解 (累计阅读 12,106)
  7. 你必须了解的Session的本质 (累计阅读 11,443)
  8. server日志的路径分析 (累计阅读 11,241)
  9. AWStats简介:Apache/Windows IIS的日志分析工具的下载,安装,配置样例和使用(含6.9中文定义补丁) (累计阅读 10,089)
  10. 查看 Apache并发请求数及其TCP连接状态 (累计阅读 10,072)