Ubuntu下Siege压力测试

lhttttt 2012-10-28

定义

siege(英文是围攻)是一个压力测试和评测工具,设计用于web开发这评估应用在压力下的承受能力;可以配置针对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的响应时间,并在一定数量的并发访问下重复进行

安装

Ubuntu下安装软件尽量通过apt-get方式安装,避免自己搞依赖关系

sudo apt-cache search siege 

会显示:

siege - HTTP regression testing and benchmarking utility

安装:

sudo apt-get install siege 

测试

测试代码

#!/bin/bash 
user_agent="Siege wangzhengyi 1.0" 
siege_rc="siege.rc" 
concurrent=150 
repet=200 
siege_single_urls="singleurl.txt" 
siege_prefix_urls="prefixurl.txt" 
 
siege -R $siege_rc -c $concurrent -r $repet -i -b -A "$user_agent" -f $siege_single_urls 

参数详解

-R: 指定用特定的siege配置文件来运行 
-c: 模拟有N个用户在并发访问(ps:如果WEB服务器为apache的话,请不要将并发连接数设置超过200) 
-r:  重复测试运行N次 
-i:  随机访问-f指定的url.txt中的url列表项,以此模拟真实的访问情况(随机性) 
-b: 进行压力测试,不进行延时 
-A: 指定访问的user-agent 
-f: 任务的URL列表 

结果说明

** SIEGE 2.68 
** Preparing 150 concurrent users for battle. 
The server is now under siege... 
done. 
Transactions:              29777 hits  //完成了29777次攻击 
Availability:              99.26 %  //99.26%的成功率 
Elapsed time:            268.34 secs  //总共使用时间 
Data transferred:          2.27 MB  //总共数据传输 2.27MB 
Response time:              1.34 secs  //响应时间,显示网络连接速度 
Transaction rate:        110.97 trans/sec  //平均每秒完成110.97次处理 
Throughput:            0.01 MB/sec  //平均每秒传输数据0.01MB 
Concurrency:              148.38  //实际最高并发连接数143.38 
Successful transactions:      29777  //成功处理次数29777 
Failed transactions:            223  //失败处理次数223 
Longest transaction:            3.14  //每次传输的最长时间 
Shortest transaction:          0.00  //每次传输的最短时间

相关推荐