Siege是linux下的一个web系统的压力测试工具,支持多链接,支持get和post请求,可以对web系统进行多并发下持续请求的压力测试。
如果看到如下信息,则说明安装成功了:
** SIEGE 3.0.6 ** Preparing 15 concurrent users for battle. The server is now under siege… done. siege aborted due to excessive socket failure; you can change the failure threshold in $HOME/.siegerc Transactions: 0 hits Availability: 0.00 % Elapsed time: 36.31 secs Data transferred: 0.00 MB Response time: 0.00 secs Transaction rate: 0.00 trans/sec Throughput: 0.00 MB/sec Concurrency: 0.00 Successful transactions: 0 Failed transactions: 1038 Longest transaction: 0.00 Shortest transaction: 0.00
-c 200 指定并发数200 -r 5 指定测试的次数5 -f urls.txt 制定url的文件 -i internet系统,随机发送url -b 请求无需等待 delay=0 -t 5 持续测试5分钟 -r和-t一般不同时使用
开始为期1分钟 200并发的请求百度 siege -c 200 -t 1 www.baidu.com
Post: 开始 20并发,次数100的post请求 https://cs.XXXX.com/api siege -H "Content-Type:application/json" -c 20 –r 100 https://cs.XXXX.com/.do POST /api
在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
备注:
如果url中含有空格和中文,要先进行url编码,否则siege发送的请求url不准确siege -C 可以查看相关的配置参数,可以自行修改,比如是否显示log,超时时间