linux模拟并发请求压力测试工具siege用法详解

以前用过apache的ab测试工具进行压力测试,想看还有没有其它的一些比较容易上手的工具,所以就查看这个工具,顺便测试了下自己的网站

首先下载工具

wget http://download.joedog.org/siege/siege-latest.tar.gz
tar -zxvf siege-latest.tar.gz
cd siege-4.0.4
mkdir -p /usr/local/siege/etcmkdir -p /usr/local/siege/var
./configure --prefix=/usr/local/siege --mandir=/usr/local/man --with-ssl=/usr/local/ssl
make
make install

查看配置文件

/usr/local/siege/bin/siege -C

下面是简单的使用方法

50个用户(每次并发量)重复100次 共产生 50*100 个请求

/usr/local/siege/bin/siege -c 50 -r 100 www.baidu.com
50个用户 重复100次 发送GET参数
/usr/local/siege/bin/siege -c 50 -r 100  http://www.baidu.com/s?wd=siege&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&rsv_sug3=4&rsv_sug=2&rsv_sug1=4&rsv_sug4=60
50个用户 重复100次 发送POST参数 (注意引号)
/usr/local/siege/bin/siege -c 50 -r 100  "https://www.abc.com/a.php POST name=zhangsan"
50个用户 重复100次 发送POST参数(从文件中读取)
/usr/local/siege/bin/siege -c 50 -r 100  "https://www.abc.com/a.php POST < /root/ab_test/post.xml"

Siege命令常用参数(详情请man 或 siege -h)

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

常用的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报表解析,请man查看

Transactions:                     10 hits    :服务器接收的请求数
Availability:                 100.00 %       :有效情况的比例
Elapsed time:                   1.06 secs    :  测试所用的时间
Data transferred:               0.04 MB    :每个模拟用户的数据传输量
Response time:                  0.03 secs    :响应每个模拟用户请求的平均时间
Transaction rate:               9.43 trans/sec    :服务器每秒处理事务的平均数
Throughput:                     0.04 MB/sec    :服务器每秒跟所有模拟用户的数据传输量
Concurrency:                    0.25    :每秒的模拟连接
Successful transactions:          10    :处理成功的事务数(code<400)
Failed transactions:               0    : 处理失败的事务数(code>400)
Longest transaction:            0.04    :最长的事务处理时间
Shortest transaction:           0.02    :最短的事务处理时间


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/516.html