一般实际性能测试场景
1、单接口(业务)基准测试场景:使用一个用户测试接口5分钟,为了测试在没有任何压力的情况下,查看各项性能指标
2、单接口(业务)负载测试场景:通过逐步对单接口施压,直到出现性能拐点,获得被测接口的最大处理能力以及它相关的西能能指标
3、单业务压力测试:验证系统的极限,直到有任何一个性能指标拆除预期
4、混合负载压测场景:为了验证整个业务的最大的最优的性能体现,重点在于模型的设计。模型来自于数据(来自生产环境的日志或者产品经理给出的数据)
5、综合业务(个多业务)基准测试
6、综合业务压力测试
7、综合业务负载测试
8、综合业务稳定性测试:在压测的场景下,持续运行4-24小时,7*24小时等
压测策略/压测场景/压测
用例: 在计划中添加如下的线程组(没有需要添加插件)
解释:
this group will start: 启动多少个线程,100
first wait for: 等待多少秒开始压测,一般设置0
then start: 一开始有多少个线程数数,一般为0
每多少秒启动多少用户数,每组数据持续运行多少秒,如上图中数据表示:每5秒增加10个虚拟用户数,增加到10个用户后,持续运行30s;再5秒新增10个用户持续30秒直到达到指定的用户数
Next add :10
threads every :30
using ramp-up:5
then hold load for : 60 负载加载完成后,负载运行60s(实际应用中,可能持续4.8,12,24小时)
每秒停止5个虚拟用户数
Finally stop :5
threads every
无界面压测
无界面压测:做压测时一般使用无界面压测的方式,一是可节约系统资源,二是更快捷,只需要启动命令即可进行压测,另外无界面压测主要就是用于性能压测集成的。
注意:无界面压测需要提前准备好需要压测的脚本,后续有命令启动压测以及生成测试报告
无页面压测的启动命令:
-n
:无界面压测
-t
:指定jmx脚本
-l
:生成测试报告
注意:jemeter需要配置jmeter.properties中添加:
jmeter.save.saveservice.output_format=xml//
jmeter.save.saveservice.response_data=true //保留响应数据
jmeter.save.saveservice.samplerData=true//保留请求数据
cmd命令生成测试报告:
//需要在脚本保存的路径下(test是脚本保存的路径),执行一下命令
E:\test>jmeter -n -t test.jmx -l result.jtl
直接生成压测报告: -e -o
命令:
jmeter -n -t test.jmx -l result.jtl -e -o reports
此时,配置文件需要改回csv
jmeter.save.saveservice.output_format=csv
用于分布式集群压测,需要的两个重要参数:
-r
:表示启动所有的远程压力机执行压测
-R
:指定特定的远程压力机执行压测