版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011466469/article/details/88593043
背景:性能测试一般选用测试工具为loadrunner[大用户并发]或jmeter[小用户并发],有时性能测试结果的有效性不是那么重要,也就是说采用Siege压测工具,因为它只是针对网络的,结果并不那么准确。
1、Siege安装步骤:
[root@localhost opt ]$ wget http://download.joedog.org/siege/siege-latest.tar.gz
[root@localhost opt ]$ $ tar zxf siege-latest.tar.gz
[root@localhost opt ]$ $ cd siege-4.0.2/
[root@localhost opt ]$ $ ./configure
[root@localhost opt ]$ $ sudo make
[root@localhost opt ]$ $ sudo make install
2、查看是否安装成功:
#查看siege安装路径:
[root@localhost / ]$ which siege
/usr/local/bin/siege
#查看siege版本:
[root@localhost / ]$ $ siege -V
SIEGE 4.0.2
3、Siege已经安装完成,接下来介绍她的使用方法:
Siege安装完成之后 help查看参数信息:
-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命令举例
1、10个并发某接口url&method¶meters发送请求10分钟,开启调试模式,无间隔时间,XX日志写入XX目录
siege --debug -c10 -t10M 'httpRequestURL&method¶mters' >>/data/siegelogs/siege-date.log
2、10个并发url&method¶meters发送请求20次,开启调试模式,无间隔时间,XX日志写入XX目录
siege -c10 -r20 'httpRequestURL&method¶mters' >>/data/siegelogs/siege-date.log
3、模拟同一用户重复提交10次购买请求
siege '接口地址 POST 具体入参' -r 1 -c 10
siege 'httprequesturl POST parameters' -r 1 -c 10
4、模拟不同的用户并发同一个接口请求,迭代次数=1
首先创建文件test_urls,将请求信息写入test_urls文件,譬如
请求 URL¶meters1 (缺陷,需要参数化登录用户名)
URL¶meters2
URL¶meters3
具体命令如下
siege --debug -r 2 -c 1 -b -f /data/siegefiles/test_urls -b >>/data/siegelogs/siege-date.log
5、同一用户并发提交多个接口
准备接口测试文件-bingfa,譬如同一个用户在购买活期宝的同时也在赎回活期宝,测试是否有数据错乱的情况
请求 URL1¶meters1
URL2¶meters2
URL3¶meters3
具体命令如下
siege --debug -r 1 -c 2 -b -f /data/siegefiles/bingfa -b >>/data/siegelogs/siege-date.log
4、压力测试的结果包括如下内容:
Transactions: 访问次数
Availability: 成功次数
Elapsed time: 测试用时
Data transferred: 测试传输数据量
Response time: 平均响应时间
Transaction rate:每秒事务处理量
扫描二维码关注公众号,回复:
5724583 查看本文章
Throughput: 吞吐率
Concurrency: 并发用户数
Successful transactions: 成功传输次数
HTTP OK received:接收成功响应次数
Failed transactions: 失败传输次数
Longest transaction: 最长响应时间
Shortest transaction: 最短响应时间