siege压力测试
Posted wwjneu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了siege压力测试相关的知识,希望对你有一定的参考价值。
安装
wget http://download.joedog.org/siege/siege-latest.tar.gz tar zxf siege-latest.tar.gz cd siege-4.0.4/ ./configure && sudo make && sudo make install
通过查看版本号,可验证是否安装成功:
siege -V
使用方法及说明
siege使用的格式为 siege [options] URL
参数(options)说明
-c --concurrent 并发量 -b --benchmark 请求之间无延时 -d --delay 指定延迟时间,即在每个请求发出后,随机延迟一段时间再发下一个请求 -t --time 指定测试的时间,默认以分钟为单位,如果想用其他单位需显示指出,如,-t10s,指测试持续10s -r --reps 指定测试的回合数,-t和-r都是来指定测试结束条件。 -H --header 添加http头信息 -f --file 指定存放URL的文件。如果要有多个url进行测试时此参数比较有用,可配合 -i 参数。
########### -i --internet 随机测试URL,在同时测试多个URL时使用,模拟用户随机访问的情况 -V --version 查看版本信息 -h --help 查看帮助信息 -g --get 显示http的头信息,用于debug -l --log 指定log文件,如果没有指定的话siege也有默认文件保存位置,文件名siege.log -A --user-agent 指定http请求中user-agent字段内容 -T --content-type 指定http请求中的content-type字段内容
get请求方法测试
1. 命令行的形式,举例:
$ siege http://www.test.com -c100 -r5 -b ... Transactions: 500 hits Availability: 100.00 % Elapsed time: 3.43 secs Data transferred: 0.11 MB Response time: 0.65 secs Transaction rate: 145.77 trans/sec Throughput: 0.03 MB/sec Concurrency: 95.20 Successful transactions: 500 Failed transactions: 0 Longest transaction: 3.02 Shortest transaction: 0.05
命令说明:测试中 -c100表示100个并发用户,-r5表示测试5轮后结束,-b表示每个请求之间无时延,即收到应答后即发起下一个请求。
结果说明:3.43秒内完成了500次请求,共传输0.11MB的数据,平均响应时间为0.65秒,平均每秒请求145.77次,拓扑量0.03MB/sec,平均并发数95.20
2. 文件存放url的形式,举例:
$ siege -c100 -r5 -f urls_file.txt -b
其中 urls_file.txt 的内容为:
http://www.test.com
则和命令行($ siege http://www.test.com -c100 -r5 -b)效果是一样的。
文件存放url的形式主要用于多url请求的情况。
post请求方法测试
1. 命令行的形式,举例:
$ siege -c 100 -r 5 -H "Cookie:token=123;time=456" http://www.test.com POST type=210¶m={"text":"%E5%8C%97%E4%BA%"}
2. 文件存放url的形式,举例:
$ siege -c 100 -r 5 -H "Cookie:token=123;time=456" -f ./post_req.txt -b post_req.txt 的内容 http://www.test.com POST type=210&¶m={"text":"%E5%8C%97%E4%BA%"}
注意,如果url或参数中含有空格或中文需要进行url编码再发送
以上是关于siege压力测试的主要内容,如果未能解决你的问题,请参考以下文章