压力测试工具siege

mac2024-10-16  66

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

1. 安装

#wget http://download.joedog.org/siege/siege-4.0.2.tar.gz //下载包 #tar -xzvf siege-4.0.2.tar.gz //解压包 $ cd siege-4.0.2/ //打开目录 $ ./configure --prefix=/usr/local/siege/ //编译的时候,指定安装目录:/usr/local/siege/ #make install //安装 $ ll /usr/local/siege/ //查看安装目录 $ siege/bin/siege –help //查看是否真的安装成功了

如果看到如下信息,则说明安装成功了:

** 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

2. Siege命令常用参数

-c 200 指定并发数200 -r 5 指定测试的次数5 -f urls.txt 制定url的文件 -i internet系统,随机发送url -b 请求无需等待 delay=0 -t 5 持续测试5分钟 -r和-t一般不同时使用

3.举例

开始为期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,超时时间

4. Siege 结果说明

输出名称解释说明Transactions总共测试次数Availability成功次数百分比Elapsed time总共耗时多少秒Data transferred总共数据传输Response time平均响应时间Transaction rate平均每秒处理请求数Throughput吞吐率Concurrency最高并发用户数Successful transactions成功的请求数Failed transactions失败的请求数Longest transaction:最长响应时间Shortest transaction最短响应时间
最新回复(0)