web压力测试与性能分析siege
2016-04-19 07:13
274 查看
Web性能压力测试工具之Siege详解
Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力。可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。siege可以从您选择的预置列表中请求随机的URL。所以siege可用于仿真用户请求负载,而ab则不能。但不要使用siege来执行最高性能基准调校测试,这方面ab就准确很多。Siege官网:http://www.joedog.org/
Siege下载:wget http://www.joedog.org/pub/siege/siege-latest. href="http://man.linuxde.net/tar" target=_blank>tar.gz
解压并安装:
# tar -zxvf siege-latest.tar.gz # cd siege-2.72/ # ./configure # make # make install
参数详解:
-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[/code]
结果说明:** 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 //每次传输所花最短时间
相关文章推荐
- 站立会议01
- 个人工作总结01
- Bzoj4503:两个串:FFT,构造
- LeetCode 302. Smallest Rectangle Enclosing Black Pixels(最小面积矩形)
- 第一冲刺站立会议01
- 实例讲解虚拟机3种网络模式(桥接、nat、Host-only)
- 微服务的误读与误解
- ASP.NET Core的配置(1):读取配置信息
- A failed job change
- 15个顶级Java多线程面试题及回答 / Java程序员面试中的多线程问题
- 【接口测试】FitNesse中文指南
- eclipse连接不上手机
- sklearn画ROC曲线
- raft实现
- Pixar Shorts 皮克斯动画短片全集
- 微软开源十年大事记
- 学习进度第8周
- 跟黄哥学python序列文章之python方法链(method chaining)
- 作业五:团队项目——项目启动及需求分析
- 夺命雷公狗---Thinkphp----13之前台的头尾分离和导航分离