您的位置:首页 > 其它

Mac下安装siege和使用

2017-08-21 00:00 281 查看

什么是Siege?

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

下载及安装

下载:wget http://www.joedog.org/pub/siege/siege-latest.tar.gz
解压: tar -zxvf siege-latest.tar.gz

cd siege-*.*.*
./configure
make
make install

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

siege压测命令

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


siege压测结果

//并发10个,发生5次,共50个请求
siege -c 10 -r 5 http://www.baidu.com 
Transactions:		         300 hits //总共测试次数
Availability:		       85.71 % //成功次数百分比
Elapsed time:		        5.18 secs //总共耗时多少秒
Data transferred:	       10.25 MB //总共数据传输
Response time:		        0.12 secs //等到响应耗时
Transaction rate:	       57.92 trans/sec //平均每秒处理请求数
Throughput:		        1.98 MB/sec //吞吐率
Concurrency:		        6.81 //最高并发
Successful transactions:         300 //成功的请求数
Failed transactions:	          50 //失败的请求数
Longest transaction:	        1.11 //每次传输所花最长时间
Shortest transaction:	        0.02 //每次传输所花最短时间

失败的请求:全部都是https访问的,由此可见Siege不支持https访问。



常用命令

# 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


注意事项

发送post请求时,url格式为http://www.xxxx.com/ POST param1=v1¶m1=v22

如果url中含有空格和中文,要先进行url编码,否则siege发送的请求url不准确。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Siege 压测