为什么会有性能场景设计呢? 相信有部分同学对场景设计优点模糊,前面博文提到的是场景提取
场景设计:在压测的过程中怎么设置线程数、Ramp-Up时间(秒)、循环次数等等
一、 性能场景分类
- 场景的概念:
a. 单场景
b. 混合场景
c. 容量场景(使用jp@gc-StepingThread Group线程组)
d. 稳定性场景
e. 异常场景
f. 业务模型
g. 比例场景
下图以公司实际项目例如每天的:注册、登录、商品列表、购物车、购买等等都是一个业务
业务模型(从生产环境提取):
- 1天或1周的数据(通常情况)
- 特殊模型:10点业务模型、20%、50%等
- 22点的业务模型等等
稳定性场景:
- 一般是项目运行24*n的时间性能体现
- 业务或者运维要求运行一周(如果运行一周数据量非常庞大),
要求:支持2000万业务量,具体的容量TPS是2000,
2000 0000/2000=10000s=2.77H
项目状况:1. 还没有上线,没有实际生产数据,2. 项目已经运行N年或者有大量生产数据
-
单场景:比如查看商品列表、查看购物车详情等等,参考之前的博客:性能测试用例提取
-
项目状况:
- 还没有上线,没有实际生产数据,
- 项目已经运行N年了,有一定的数据
- 通常情况–1天或1周的数据 4. 特殊某一个时间段, 例如10点业务(高峰期)
-
稳定性场景:
1. 一般项目运行24*n的时间性能体现(如果有要求运行1周),千万不要使用jmeter压测一个礼拜,文件会很大,打不开
2. 换个角度:或者达到支持3000万的业务量 TPS2000 3000000/2000=15000s —4.16H
并发数:容量(并发)慢慢往上加 -
比例场景: 1. 甲方要求 2. 根据实际业务量
1、性能测试需求
需求1: 商品列表页, 看是否能满足1000个人同时访问
需求2:撞库、超卖等接口,需要满足 50tps
需求3: 秒杀活动接口,要看秒杀时服务器能否支持1000个人同时秒杀
例如下性能需求:
二、公司常压测的场景
- 单场景压测:撞库接口、超卖接口等等
- 多场景压测:场景一、登录、添加购物车商品、查看购物车等等
- 其他场景很少做或者交给性能专业人员压测