Siege压力测试工具的安装和使用

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

Siege时一个开放源代码项目: http://www.joedog.org

下载:去官网joedog.org/pub/siege/siege-latest.tar.gz 下载

解压: tar -zxf siege-latest.tar.gz

安装:
进入解压目录:
cd siege-2.70
执行安装命令(注意安装权限,要sudo或者在root下运行):
./configure make
make install
成功:
siege –help (如果有help出现,则已经安装成功)

使用说明:

举例:

siege -c 20 -r 2 -f baidu.com

参数说明:
-c 20 并发20个用户
-r 2 重复循环2次
-f baidu.url 任务列表文件:URL列表

** Siege 2.70
** Preparing 20 concurrent users for battle. 这次“战斗”准备了20个并发用户
The server is now under siege.. done. 服务在“围攻”测试中:
Transactions: 40 hits 完成40次处理
Availability: 100.00 % 成功率
Elapsed time: 7.67 secs 总共用时
Data transferred: 877340 bytes 共数据传输:877340字节
Response time: 1.65 secs 相应用时1.65秒:显示网络连接的速度
Transaction rate: 5.22 trans/sec 平均每秒完成5.22次处理:表示服务器后台处理的速度
Throughput: 114385.92 bytes/sec 平均每秒传送数据:114385.92字节
Concurrency: 8.59 最高并发数 8.59
Successful transactions: 40 成功处理次数
Failed transactions: 0 失败处理次数

Siege命令常用参数
-c 200 指定并发数200
-r 5 指定测试的次数5
-f urls.txt 制定url的文件
-i internet系统,随机发送url
-b 请求无需等待 delay=0
-t 5 持续测试5分钟

# -r和-t一般不同时使用

常用的siege命令举例
# 200个并发对http://www.google.com发送请求100次

siege -c 200 -r 100 http://www.google.com
# 在urls.txt中列出所有的网址

siege -c 200 -r 100 -f urls.txt
# 随机选取urls.txt中列出所有的网址

siege -c 200 -r 100 -f urls.txt -i
# delay=0,更准确的压力测试,而不是功能测试

siege -c 200 -r 100 -f urls.txt -i -b
# 指定http请求头 文档类型

siege -H "Content-Type:application/json"
-c 200 -r 100 -f urls.txt -i -b

## 一些需要注意的地方:
1,发送post请求时,url格式为:http://www.xxxx.com/ POST p1=v1&p2=v2
2,如果url中含有空格和中文,要先进行url编码,否则siege发送的请求url不准确

添加

siege -C 可以查看相关的配置参数,可以自行修改,比如是否显示log,超时时间

提示:

我安装的时候一直没有注意权限问题,导致一直安装不成功。后来才注意到要在root权限下运行!
这个工具就是模拟用户访问,我之所以用到了它,是因为代码优化,需要测试访问时间。判断测试后的平均访问时间是否有缩短。对比之前的相应时间,看是否速度上有加快。
并发,循环,url列表可以根据情况而定。比如我把并发设置为30,循环1000次,只对一个url测试。
这个具体根据情况而定。

参考:

http://blog.csdn.net/qingye2008/article/details/34500949
http://ruby8.iteye.com/blog/1150457

很好用的网络压力测试工具 Linux版 siege安装 unzip filename.zip cd siege-*.*.* ./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 查看配置文件 /usr/local/siege/bin/siege -C 二、siege使用 举例说明: 50个用户(每次并发量)重复100次 共产生 50*100 个请求 /usr/local/siege/bin/siege -c 50 -r 100 www.baidu.com 50个用户 重复100次 发送GET参数 /usr/local/siege/bin/siege -c 50 -r 100 http://www.baidu.com/s?wd=siege&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&rsv_sug3=4&rsv_sug=2&rsv_sug1=4&rsv_sug4=60 50个用户 重复100次 发送POST参数 (注意引号) /usr/local/siege/bin/siege -c 50 -r 100 "https://www.abc.com/a.php POST name=zhangsan" 50个用户 重复100次 发送POST参数(从文件中读取) /usr/local/siege/bin/siege -c 50 -r 100 "https://www.abc.com/a.php POST < /root/ab_test/post.xml" 另外还有挺多参数 详情请man 或 siege -h siege报表解析,请man查看,暂略(有点累了,不想写了。。。。。)。 Transactions: 10 hits :服务器接收的请求数 Availability: 100.00 % :有效情况的比例 Elapsed time: 1.06 secs : 测试所用的时间 Data transferred: 0.04 MB :每个模拟用户的数据传输量 Response time: 0.03 secs :响应每个模拟用户请求的平均时间 Transaction rate: 9.43 trans/sec :服务器每秒处理事务的平均数 Throughput: 0.04 MB/sec :服务器每秒跟所有模拟用户的数据传输量 Concurrency: 0.25 :每秒的模拟连接 Successful transactions: 10 :处理成功的事务数(code<400) Failed transactions: 0 : 处理失败的事务数(code>400) Longest transaction: 0.04 :最长的事务处理时间 Shortest transaction: 0.02 :最短的事务处理时间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值