Siege是linux下的一个web系统的压力测试工具,支持多链接,支持get和post请求,可以对web系统进行多并发下持续请求的压力测试。
安装 Siege
#wget http://www.joedog.org/pub/siege/siege-latest.tar.gz #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 -t 5 持续测试5分钟
更多参数
输入名称 | 解释说明 |
---|---|
-V, –version | 打印版本信息 |
-h, –help | 打印帮助信息 |
-C, –config | 显示配置信息 |
-v, –verbose | 打印冗余配置信息。 |
-g, –get | 显示HTTP交易。 |
-c, –concurrent=NUM | 设置并发用户数 |
-u, –url=”URL” | 设置被测Web的URL |
-i, –internet | 用户模拟、随机访问URL |
-b, –benchmark . | 基准测试。 |
-t, –time=NUM | 设置测试时间。 |
-r, –reps=NUM | 设置测试次数 |
-f, –file=FILE | 更改配置文件存档 |
-R, –rc=FILE | 更改siegerc文件和环境变量 |
-l, –log | 测试日志 |
-m, –mark=”text” | 标记测试日志 |
-d, –delay=NUM | 设置时间延迟 |
-H, –header=”text” | 增加测试头文件 |
-A, –user-agent=”text” | 设置代理测试请求 |
常用的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
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,超时时间
参考地址:
http://blog.csdn.net/qingye2008/article/details/34500949
http://blog.csdn.net/shangmingtao/article/details/73850292