PS:Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力。可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。siege可以从您选择的预置列表中请求随机的URL。所以siege可用于仿真用户请求负载,而ab则不能。但不要使用siege来执行最高性能基准调校测试,这方面ab就准确很多。

Siege官网:http://www.joedog.org/
Siege下载:wget http://www.joedog.org/pub/siege/siege-latest.tar.gz

解压并安装:

cd /root/
rz
tar -zxvf siege-2.72.tar.gz
cd siege-2.72
./configure --prefix=/usr/local/siege --mandir=/usr/local/man --with-ssl=/usr/local/ssl
mkdir -p /usr/local/siege/etc/
mkdir -p /usr/local/siege/var/
make
make install

创建.siegec.config配置文件到当前用户的家目录下
/usr/local/siege/bin/siege.config
安装完成

查看配置文件
/usr/local/siege/bin/siege -C

CURRENT  SIEGE  CONFIGURATION
JoeDog/1.00 [en] (X11; I; Siege 2.72)
Edit the resource file to change the settings.
----------------------------------------------
version:                        2.72
verbose:                        false
debug:                          false
protocol:                       HTTP/1.1
connection:                     close
concurrent users:               15
time to run:                    n/a
repetitions:                    n/a
socket timeout:                 30
delay:                          1 sec
internet simulation:            false
benchmark mode:                 false
failures until abort:           1024
named URL:                      none
URLs file:                      /usr/local/siege/etc/urls.txt
logging:                        true
log file:                       /usr/local/siege/var/siege.log
resource file:                  /root/.siegerc
timestamped output:             false
comma separated output:         false
allow redirects:                true
allow zero byte data:           true
allow chunked encoding:         true
proxy auth:                     
www auth:  

参数详解:

-C,或–config 在屏幕上打印显示出当前的配置,配置是包括在他的配置文件$HOME/.siegerc中,可以编辑里面的参数,这样每次siege 都会按照它运行.
-v 运行时能看到详细的运行信息
-c n,或–concurrent=n 模拟有n个用户在同时访问,n不要设得太大,因为越大,siege 消耗本地机器的资源越多
-i,–internet 随机访问urls.txt中的url列表项,以此模拟真实的访问情况(随机性),当urls.txt存在是有效
-d n,–delay=n hit每个url之间的延迟,在0-n之间
-r n,–reps=n 重复运行测试n次,不能与 -t同时存在
-t n,–time=n 持续运行siege ‘n’秒(如10S),分钟(10M),小时(10H)
-l 运行结束,将统计数据保存到日志文件中siege .log,一般位于/usr/local/var/siege .log中,也可在.siegerc中自定义
-R SIEGERC,–rc=SIEGERC 指定用特定的siege 配置文件来运行,默认的为$HOME/.siegerc
-f FILE, –file=FILE 指定用特定的urls文件运行siege ,默认为urls.txt,位于siege 安装目录下的etc/urls.txt
-u URL,–url=URL 测试指定的一个URL,对它进行”siege “,此选项会忽略有关urls文件的设定

urls.txt文件:是很多行待测试URL的列表以换行符断开,格式为:
[protocol://]host.domain.com[:port][path/to/file]

用法举例:

siege -c 300 -r 100 -f url.txt

说明:-c是并发量,-r是重复次数。url.txt就是一个文本文件,每行都是一个url,它会从里面随机访问的。

url.txt内容:

http://192.168.80.166/01.jpg

http://192.168.80.166/02.jpg

http://192.168.80.166/03.jpg

http://192.168.80.166/04.jpg

http://192.168.80.166/05.jpg

http://192.168.80.166/06.jpg

如图所示:

结果说明:

** SIEGE 2.72
** Preparing 300 concurrent users for battle.
The server is now under siege.. done.

Transactions: 30000 hits //完成30000次处理
Availability: 100.00 % //100.00 % 成功率
Elapsed time: 68.59 secs //总共使用时间
Data transferred: 817.76 MB //共数据传输 817.76 MB
Response time: 0.04 secs //响应时间,显示网络连接的速度
Transaction rate: 437.38 trans/sec //平均每秒完成 437.38 次处理
Throughput: 11.92 MB/sec //平均每秒传送数据
Concurrency: 17.53 //实际最高并发连接数
Successful transactions: 30000 //成功处理次数
Failed transactions: 0 //失败处理次数
Longest transaction: 3.12 //每次传输所花最长时间
Shortest transaction: 0.00 //每次传输所花最短时间

50个用户(每次并发量,注意不是每秒并发量) 重复100次 共产生 50 * 100 = 5000个请求
/usr/local/siege/bin/siege -c 50 -r 100  https://www.abc.com/fcgi-bin/rs/

50个用户 重复100次 发送GET参数
/usr/local/siege/bin/siege -c 50 -r 100  https://www.abc.com/fcgi-bin/rs/?name=zhangsan

50个用户 重复100次 发送POST参数 (注意引号)
/usr/local/siege/bin/siege -c 50 -r 100  "https://www.abc.com/fcgi-bin/rs/ POST name=zhangsan"

50个用户 重复100次 发送POST参数(从文件中读取)
/usr/local/siege/bin/siege -c 50 -r 100  "https://www.abc.com/fcgi-bin/rs/ POST < /root/ab_test/post.xml"

另外还有发送时间参数等
详情请man 或 siege -h

永久链接 : http://www.ha97.com/4663.html

(总结)Web性能压力测试工具之Siege详解相关推荐

  1. Web性能压力测试工具之WebBench详解

    在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.但是,在压力测试中存在一个共性,那就是压力测试的结果 ...

  2. web性能压力测试工具:WebBench详解

    1.Webbench官方主页: http://home.tiscali.cz/~cz210552/webbench.html Webbench的官方介绍: Web Bench is very simp ...

  3. 三种web性能压力测试工具

    三种web性能压力测试工具http_load webbench ab小结 题记:压力和性能测试工具很多,下文讨论的是我觉得比较容易上手,用的比较多的三种 http_load 下载地址:http://w ...

  4. Web性能压力测试工具——Siege详解

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

  5. Web性能压力测试工具-Webbench

    目录 Webench Webbench实现的核心原理 安装和使用 注意总结 安全隐患 Webench Webench是一款LInux轻量级的网站测压工具,最多可以对网站模拟3w左右的并发请求,可以控制 ...

  6. 三种web性能压力测试工具http_load webbench apache benc

    题记:压力和性能测试工具很多,下文讨论的是我觉得比较容易上手,用的比较多的三种 http_load 下载地址:http://www.acme.com/software/http_load/http_l ...

  7. 【WEB】Web性能压力测试工具

    webbench 原理 webbench首先fork出多个子进程,每个子进程都循环做web访问测试.子进程把访问的结果通过pipe告诉父进程,父进程做最终的统计结果(转至百度百科) 安装 [root@ ...

  8. Web性能压力测试工具webbench用法

    测试环境:Centos7 一.安装webbench 1.安装依赖 #yum -y install gcc automake autoconf libtool make ctags 2.安装ctags及 ...

  9. Web必备性能压力测试工具WebBench与ApcheBench(ab)详解

    在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.但是,在压力测试中存在一个共性,那就是压力测试的结果 ...

  10. Web服务器性能压力测试工具http_load、webbench、ab、Siege使用教程

    Web服务器性能压力测试工具http_load.webbench.ab.Siege使用教程 作者: feng 日期: 2012/07/25 发表评论 (0) 查看评论 一.http_load 程序非常 ...

最新文章

  1. [毕业生的商业软件开发之路]尽早暴露错误原则
  2. 公钥,私钥,SSL(讲的很生动)
  3. ubuntu下vim + ctags + taglist配置和使
  4. php 递归中的全局变量,PHP中递归的实现实例详解
  5. 10.13 上午 考试
  6. C++ 在派生类中使用using声明改变基类成员的可访问性
  7. spring cloud各个微服务打包到docker容器内
  8. java list 取两条_java list集合中有多条数据随机两条一组
  9. PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
  10. 2022年江苏省高职单招(数学)考试冲刺试题及答案
  11. 按照计算机病毒存在,下列选项中,不属于按照计算机病毒存在的方式分类的是()。 - 问答库...
  12. 在Mac系统下配置端口映射
  13. python行业中性_Python抓取分析淘宝连衣裙数据,128元真的是低价人群分界线吗?...
  14. 基于 Python 的高考志愿高校及专业分析系统
  15. 南方cass怎么添加指北针_添加比例尺 指北针
  16. MentorGraphicsMAJIC-LT的使用
  17. 【分享】神龙斗士123部下载链接,魔神英雄传辽宁艺术90年代配音版
  18. 洛谷P5238 整数校验器
  19. python保留字-Python保留字
  20. python和perl语言的区别_Perl 和 Python 的比较 【转】

热门文章

  1. 拼音分词器_自动补全
  2. ASO优化图标篇:App图标优化的几点建议
  3. 一句话说明白IRQL
  4. 2019个人年度总结:平凡的我,仍然在平淡的生活里打拼,寻找未来的曙光。
  5. 4.1 Python图像的图像恢复-空域噪声滤波器
  6. [每日学习3.26/3.27] 游戏研发面经学习 - 阿V
  7. HTC Vive榜单:盘点一周最受欢迎的VR应用
  8. 第45章 DCMI—OV2640摄像头—零死角玩转STM32-F429系列
  9. latex关于的报错问题及表格排版问题
  10. [luogu P2183] [国家集训队]礼物 {exlucas}