Jmeter_性能测试场景设计

一、性能测试场景设计方式(如何判断产生多少tps)

1、在毫无任何数据的情况下(只能拍脑袋)

(1)拍脑袋

(2)根据竟品

(3)根据业务模型计算

2、如果知道一天的总访问量(pv)

(1)24小时平均,但这不符合正常的访问逻辑

(2)二八原则:原理来自百分之80的财富掌握在百分之20的人手里,即,百分之80的请求量,都会集中在一天内20%的时间里,当然这要看一整天的访问量走势,可以是二八原则,也可以是一九原则

比如说pv是1000    则tps是  (1000*0.8)/ (24*3600*0.2)

3、如果只知道UV

比如说1000个用户在线,并发度3% -%5

tps = 1000*5%

二、性能测试的流程

1、单接口测试

(1):对一个接口做简单基础测试,大约三到五个线程,跑十分钟,拿到平均响应时间和静默状态下资源大体的使用情况

(2)对一个接口做预热测试,取日常tps的平均值,相当于对新版本做一个冒烟压力测试

(3)梯度加压,观察系统到目标tps情况下的系统的各种表现

(4)再继续加压,获取系统的最大tps,即容量测试

2、混合接口测试

3、稳定性测试: 运行较长时间 ,一般8-24小时,看是否有tps有较大波动,有错误和异常,内存溢其中最重要的是TPS的稳定,一般最大处理能力的70%-80%

4、异常性能测试,比如说压两台服务器,突然挂了一台,整个服务是不是不会受影响

三、性能场景设计举例

举个例子,从一个月每天访问量的统计来看,我们应当抽下以下四个天数的数据

第一个:因为业务二当天访问量最大

第二个:因为业务三当天访问量最大

第三个:因为业务一当天访问量最大

第四个:因为总体业务访问量最大

例如我们做一个基础测试,测试每个接口的RT都是0.2秒

则针对单场景如下

例如:业务一 (只有天的数据的情况下)

最大交易量10月25日  交易量 7341022    用28原则TPS是7341022*0.8/24*60*60*0.2=340  平均响应时间0.2S  开启线程数 68

例如 : 业务二 (有小时数据)

最大交易量10月26日9点  交易量 530693  用28原则TPS是 530693*0.8/60*60*0.2=589    平均响应时间0.2S  开启线程数 118

混合场景(第四天):例如

总业务量 14682044 业务1占50% 业务2占30% 业务3占20%

使用预热测试方式,用五个线程压测混合场影,得到平均响应时间是0.2

二八原则,一天的tps是 14682044*0.8/24*60*60*0.2 =680  开启线程数是 136

如果能拿到交易峰值日当中,按小时的交易峰值,也应当测试交易峰值日中的业务1 业务2 业务3  峰值时间段的混合场景,因为在其他单场景测试过,但其他单场景的其他业务量并不大

你可能感兴趣的:(Jmeter_性能测试场景设计)