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&param={"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&&param={"text":"%E5%8C%97%E4%BA%"}

注意,如果url或参数中含有空格或中文需要进行url编码再发送

 


以上是关于siege压力测试的主要内容,如果未能解决你的问题,请参考以下文章

压力测试工具siege的用法

siege用于web压力测试

siege压力测试工具安装和介绍

siege压力测试

siege linux 压力测试工具

Linux压力测试工具—Siege命令