压力测试工具siege的用法

压力测试工具siege的用法

Siege是linux下的一个web系统的压力测试工具,支持多链接,支持get和post请求,可以对web系统进行多并发下持续请求的压力测试。

安装 Siege

01
02
03
04
#tar -xzvf siege-latest.tar.gz
#./configure; make
#make install

Siege命令常用参数

-c 200 指定并发数200
-r 5 指定测试的次数5
-f urls.txt 制定url的文件
-i internet系统,随机发送url
-b 请求无需等待 delay=0

-d 1 间隔1秒请求一次

-t 5 持续测试5分钟

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

常用的siege命令举例

# 200个并发对http://www.google.com发送请求100次

01
siege -c 200 -r 100 http://www.google.com

# 在urls.txt中列出所有的网址

01
siege -c 200 -r 100 -f urls.txt

# 随机选取urls.txt中列出所有的网址

01
siege -c 200 -r 100 -f urls.txt -i

# delay=0,更准确的压力测试,而不是功能测试

01
siege -c 200 -r 100 -f urls.txt -i -b

# 指定http请求头 文档类型

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

Siege输出结果说明

Transactions: 总共测试次数
Availability: 成功次数百分比
Elapsed time: 总共耗时多少秒
Data transferred: 总共数据传输
Response time: 等到响应耗时
Transaction rate: 平均每秒处理请求数
Throughput: 吞吐率
Concurrency: 最高并发
Successful transactions: 成功的请求数
Failed transactions: 失败的请求数

Siege使用的一些总结

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

添加

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

3.发送POST请求

 新建参数文件
1.vim uncollect.json

{
    "token":"c23f5fac69190de92a50973803409811",
    "type":0,
    "uni_id":"1acbb47a1d4f7b1f29cca86de70c84b4"
}

2.测试语句
# 每秒10个并发跑10次 test.json 为发送的数据内容
siege  -H "Content-Type:application/json"  -c 10 -r 10  'http://192.168.0.5:8000/api/v1/idphotodetect POST < /tmp/test.json'

 

4.发送url 网址列表

siege_test.txt 网址列表  -d 1 间隔1秒请求一次

http://127.0.0.1:8000/api/v2/makeidphoto  POST < /tmp/idphoto.json
http://127.0.0.1:8000/api/v1/idphotodetect POST < /tmp/test.json


# 测试语句从上面文件随机选取一个 siege -H "Content-Type:application/json" -c 2 -r 10 -f /tmp/siege_test.txt -i -b

#每秒10个并发跑2个小时,结果输出到result_gzip_5.csv -d 1 间隔1秒请求一次
siege -c 10 -t 120M -f siege_test.txt -H "Accept-Encoding:gzip" --log=result_gzip_5.csv

 

 

 

 

 

 

posted on 2018-12-11 18:22  星河赵  阅读(4319)  评论(0编辑  收藏  举报

导航