一种自动构建压测业务模型的方法及系统技术方案

技术编号:38001225 阅读:10 留言:0更新日期:2023-06-30 10:15
本申请涉及一种自动构建压测业务模型的方法及系统,属于软件测试领域,方法通过构建日志收集平台和日志聚合与解析平台,收集被测服务的日志信息并进行解析,获取被测服务在第一预设时间段内的每小时的业务调用分布信息和每天的业务调用分布信息,并以小时为单位聚合计算出每小时的平均调用量模型M1;同时以天为单位聚合计算出调用量最高的模型M2和调用量差异最大的模型M3;将模型M2、模型M3与平均调用量模型M1结合,分别计算出调用量最高的业务TPS结构与调用量差异最大的业务TPS结构,并在压测脚本中配置各个业务的TPS比例。本申请使测试人员可以获取生产实际业务模型,并准确指定对应业务的TPS分配,模拟出符合生产实际情况的压测场景。情况的压测场景。情况的压测场景。

【技术实现步骤摘要】
一种自动构建压测业务模型的方法及系统


[0001]本申请属于软件测试领域,具体涉及一种自动构建压测业务模型的方法及系统。

技术介绍

[0002]压力测试也叫性能测试,是针对系统的性能指标建立性能测试模型,制定性能测试方案,在场景条件执行执行性能场景,分析判断性能瓶颈并调优,最终得出性能结果来评估系统的性能指标是否满足既定值。
[0003]现有的性能压测过程中,只注重单业务的接口性能,进行压测的时候,只关注个别接口的性能是否达标,且接口大部分时间是在线下进行,可能线上线下机器配置不一样,而且线上同时在进行着各种不同的业务。但是系统的某个服务通常会提供多个接口,而在对外提供服务时,而各个接口在调用时存在一定比例结构,如果测试人员无法获取最真实的系统业务模型,在进行压测的时候没有可靠的模型依据,就无法对系统的TPS(每秒事务处理量)进行一个准确的分配。

技术实现思路

[0004]为此,本申请提供一种自动构建压测业务模型的方法及系统,有助于解决现有性能压测过程无法获取系统真实业务模型,来对系统TPS进行准确分配的问题。
[0005]为实现以上目的,本申请采用如下技术方案:
[0006]第一方面,本申请方案提供一种自动构建压测业务模型的方法,包括:
[0007]采用日志分析工具和分布式搜索引擎构建日志收集平台,并利用日志收集平台收集被测服务的日志信息;
[0008]采用Python技术构建日志聚合与解析平台;
[0009]日志聚合与解析平台调用日志收集平台的接口,请求日志信息并进行解析,获取被测服务在第一预设时间段内的每小时的业务调用分布信息,并以小时为单位聚合计算出每小时的平均调用量模型M1;
[0010]对日志信息进一步解析,获取被测服务在第一预设时间段内每天的业务调用分布信息,并以天为单位聚合计算出调用量最高的模型M2和调用量差异最大的模型M3;
[0011]将调用量最高的模型M2和调用量差异最大的模型M3与平均调用量模型M1结合,计算出调用量最高的业务TPS结构与调用量差异最大的业务TPS结构;
[0012]依据调用量最高的业务TPS结构与调用量差异最大的业务TPS结构,在压测脚本中配置各个业务的TPS比例。
[0013]进一步地,所述日志信息具体为被测服务中所有业务的每秒业务调用量。
[0014]进一步地,所述请求日志信息并进行解析,获取被测服务在第一预设时间段内的每小时的业务调用分布信息,并以小时为单位聚合计算出每小时的平均调用量模型M1具体包括:
[0015]日志聚合与解析平台读取被测服务在第一预设时间段内所有业务的业务调用分
布信息,通过数据统计和计算,输出被测服务在第一预设时间段内所有业务的每小时业务调用量;在第一预设时间段内,以小时为单位,对被测服务中各个业务的每小时业务调用量分别进行聚合计算,获得各个业务的每小时平均调用量,以各个业务的每小时平均调用量比例作为被测服务的平均调用量模型M1。
[0016]进一步地,所述对日志信息进一步解析,获取被测服务在第一预设时间段内每天的业务调用分布信息,并以天为单位聚合计算出调用量最高的模型M2和调用量差异最大的模型M3具体包括:
[0017]基于读取的被测服务在第一预设时间段内所有业务的业务调用分布信息,通过数据统计和计算,获取被测服务在第一预设时间段内各个业务的每天业务调用量;以天为单位,分别聚合计算出第一预设时间段内所有业务每天的业务调用总量和各个业务之间每天的业务调用量差异;以业务调用总量最高当天所有业务的业务调用量比例作为调用量最高的模型M2,且以业务调用量差异最大当天所有业务的业务调用量比例作为调用量差异最大的模型M3。
[0018]进一步地,所述将调用量最高的模型M2和调用量差异最大的模型M3与平均调用量模型M1结合,计算出调用量最高的业务TPS结构与调用量差异最大的业务TPS结构具体包括:
[0019]基于平均调用量模型M1,计算出被测服务的TPS通用值;
[0020]基于调用量最高的模型M2,分别计算出被测服务业务调用总量最高当天各个业务在每小时内占当天业务调用总量的百分比,获得模型M2的业务TPS比例;同时依据当天业务峰值所在时间节点的业务调用量,计算出模型M2的TPS峰值,将TPS通用值与模型M2的业务TPS比例和TPS峰值作为调用量最高的业务TPS结构;
[0021]基于调用量差异最大的模型M3,分别计算出被测服务业务调用量差异最大当天各个业务在每小时内占当天业务调用总量的百分比,获得模型M3的业务TPS比例;同时依据当天业务峰值所在时间节点的业务调用量,计算出模型M3的TPS峰值;将TPS通用值与模型M3的业务TPS比例和TPS峰值作为调用量差异最大的业务TPS结构。
[0022]第二方面,本申请提供一种自动构建压测业务模型的系统,包括:
[0023]日志收集平台,用于被测服务的日志信息;
[0024]日志聚合与解析平台,用于请求日志信息并进行解析,获取被测服务在第一预设时间段内的每小时的业务调用分布信息和每天的业务调用分布信息,并分别聚合计算出平均调用量模型M1、调用量最高的模型M2和调用量差异最大的模型M3,以及将调用量最高的模型M2和调用量差异最大的模型M3与平均调用量模型M1结合,计算出调用量最高的业务TPS结构与调用量差异最大的业务TPS结构;
[0025]TPS比例配置模块,用于依据调用量最高的业务TPS结构与调用量差异最大的业务TPS结构,在压测脚本中配置被测服务的TPS比例。
[0026]本申请采用以上技术方案,至少具备以下有益效果:
[0027]通过本申请提供的一种自动构建压测业务模型的方法,方法通过采用日志分析工具和分布式搜索引擎构建日志收集平台,并利用日志收集平台收集被测服务的日志信息;采用Python技术构建日志聚合与解析平台;日志聚合与解析平台调用日志收集平台的接口,请求日志信息并进行解析,获取被测服务在第一预设时间段内的每小时的业务调用分
布信息,并以小时为单位聚合计算出每小时的平均调用量模型M1;对日志信息进一步解析,获取被测服务在第一预设时间段内每天的业务调用分布信息,并以天为单位聚合计算出调用量最高的模型M2和调用量差异最大的模型M3;将调用量最高的模型M2和调用量差异最大的模型M3与平均调用量模型M1结合,计算出调用量最高的业务TPS结构与调用量差异最大的业务TPS结构;依据调用量最高的业务TPS结构与调用量差异最大的业务TPS结构,在压测脚本中配置各个业务的TPS比例。本申请通过收集被测服务的日志信息进行解析,根据解析结果进行聚合计算,分别获得被测服务的平均调用量模型M1、调用量最高的模型M2和调用量差异最大的模型M3,使测试人员可以获取生产实际业务模型,解决当前压测人员无法了解具体的业务模型的问题。然后通过计算出调用量最高的业务TPS结构与调用量差异最大的业务TPS结构,利用压测脚本来准确指定对应业务的TPS分配,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自动构建压测业务模型的方法,其特征在于,包括:采用日志分析工具和分布式搜索引擎构建日志收集平台,并利用日志收集平台收集被测服务的日志信息;采用Python技术构建日志聚合与解析平台;日志聚合与解析平台调用日志收集平台的接口,请求日志信息并进行解析,获取被测服务在第一预设时间段内的每小时的业务调用分布信息,并以小时为单位聚合计算出每小时的平均调用量模型M1;对日志信息进一步解析,获取被测服务在第一预设时间段内每天的业务调用分布信息,并以天为单位聚合计算出调用量最高的模型M2和调用量差异最大的模型M3;将调用量最高的模型M2和调用量差异最大的模型M3与平均调用量模型M1结合,计算出调用量最高的业务TPS结构与调用量差异最大的业务TPS结构;依据调用量最高的业务TPS结构与调用量差异最大的业务TPS结构,在压测脚本中配置各个业务的TPS比例。2.根据权利要求1所述的一种自动构建压测业务模型的方法,其特征在于,所述日志信息具体为被测服务中所有业务的每秒业务调用量。3.根据权利要求1所述的一种自动构建压测业务模型的方法,其特征在于,所述请求日志信息并进行解析,获取被测服务在第一预设时间段内的每小时的业务调用分布信息,并以小时为单位聚合计算出每小时的平均调用量模型M1具体包括:日志聚合与解析平台读取被测服务在第一预设时间段内所有业务的业务调用分布信息,通过数据统计和计算,输出被测服务在第一预设时间段内所有业务的每小时业务调用量;在第一预设时间段内,以小时为单位,对被测服务中各个业务的每小时业务调用量分别进行聚合计算,获得各个业务的每小时平均调用量,以各个业务的每小时平均调用量比例作为被测服务的平均调用量模型M1。4.根据权利要求1所述的一种自动构建压测业务模型的方法,其特征在于,所述对日志信息进一步解析,获取被测服务在第一预设时间段内每天的业务调用分布信息,并以天为单位聚合计算出调用量最高的模型M2和调用量差异最大的模型M3具体包括:基于读取的被测服务在第一预设时间段内所有业务的业务调用分布信息,通过数据统计和计算,获取被测服务在第一预设时间...

【专利技术属性】
技术研发人员:王强
申请(专利权)人:上海中通吉网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1