首页 / 性能容量资源配置方法及装置

性能容量资源配置方法及装置实质审查 发明

技术领域

[0001] 本发明涉及云计算技术领域,尤其涉及性能容量资源配置方法及装置。

相关背景技术

[0002] 目前银行核心应用系统全面下移至分布式开放平台,导致业务交易链路复杂度大幅增加,各应用性能容量配置缺乏统一标准和工具支撑,导致测试环境性能容量资源配置方面存在如下问题:
[0003] 一是上下游应用资源配置规则不统一导致性能容量瓶颈评估偏差。一个复杂业务场景交易链路可能会涉及到几十个关键核心应用,但各应用的测试与生产环境容器和资源配比比例不尽相同。例如某支付业务场景涉及交易链路为A应用、B应用、C应用、D应用,若测试环境A应用的资源配置为生产环境的1/2,B应用的资源配置为生产环境的1/4,C应用的资源配置为生产环境的1/8,D应用的资源配置为生产环境的1/2,基于此环境开展全链路性能容量测试,可能会由于C应用的测试环境容量较生产环境配比最低而导致该应用在性能测试时最先出现性能容量瓶颈,但生产环境的真正性能瓶颈点可能并不在C应用上。因此上下游应用资源配置规则不统一会严重影响全链路的整体性能支撑能力评估准确性,导致出现性能容量瓶颈评估结果偏差。
[0004] 二是业务功能测试和性能容量测试之间,资源配置切换频繁,复杂度高。性能容量测试往往需要模拟生产用户并发进行高并发压力测试,因此对资源配置要求较高,在性能测试实施前,需按配比要求启动多个应用容器副本,并且单容器的CPU和内存配置需调整为与生产配置一致;业务功能测试一般为业务测试人员手工执行或使用自动化脚本串行执行,交易基本没有并发度,因此对资源容量需求较低。由于受到测试环境机房和硬件资源限制,性能容量测试和业务功能测试的应用资源需差异化配置管理,性能测试结束前后需针对测试场景整条链路上的所有应用进行资源扩容和资源进行回收,该资源调整切换动作较为频繁且复杂度高。
[0005] 三是缺乏业务级的全链路性能容量资源配置切换方法。目前分布式云平台是基于应用容器模板粒度进行资源配置管理的,而一个业务场景链路会涉及调用到多个应用,某些复杂业务场景甚至会涉及到几十个应用调用,目前的操作方法需逐一针对链路上的相关应用进行资源配置调整,基于此资源配置切换方法,单个业务场景的容量资源准备时间平均长达1小时左右。由于缺少业务级的全链路性能容量资源配置、检查和灵活调整支持,当前资源配置灵活度较低、耗时长,且针对复杂链路场景的调整容易发生链路应用疏漏,缺乏工具检查核对手段。

具体实施方式

[0024] 为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
[0025] 图1为本发明实施例提供的一种性能容量资源配置方法所对应的流程示意图,如图1所示,该方法包括:
[0026] 步骤101,收集不同业务场景的链路配置信息以及各应用节点的性能容量资源配置信息。
[0027] 本发明实施例中,收集不同业务场景的链路配置信息,如图2所示,以三个业务场景为例,分别为业务场景A、业务场景B、业务场景C。
[0028] 业务场景A涉及应用链路为:应用A1节点A、应用A1节点B、应用A2节点A、应用A3节点A;
[0029] 业务场景B涉及应用链路为:应用B1节点A、应用B2节点A、应用B3节点A、应用B3节点B;
[0030] 业务场景C涉及应用链路为:应用C1节点A、应用C2节点A、应用C3节点A、应用C4节点A。
[0031] 将上述各业务场景链路配置类信息收集并储存在配置信息库中。
[0032] 本发明实施例中,收集各应用节点的性能容量资源配置信息,包括应用容器副本数、CPU颗数、内存容量、存储容量等关键性能容量指标。如图2所示,展示了应用A1节点A、应用B1节点A和应用C1节点A的性能容量资源配置信息,每个应用节点的资源配置都包含当前生产环境的应用容器副本数、CPU颗数、内存配置大小等关键资源配置情况。
[0033] 将上述应用资源配置类信息储存在配置信息库中。
[0034] 步骤102,确定不同测试类型下的基于业务全链路的性能容量资源配置规范。
[0035] 在一种可能的实施方式中,确定各应用节点容器副本配置规范、CPU资源配置规范、内存资源配置规范及存储资源配置规范。
[0036] 步骤103,基于不同业务场景的链路配置信息、各应用节点的性能容量资源配置信息及不同测试类型下的基于业务全链路的性能容量资源配置规范,生成不同测试类型下的各业务场景全链路性能容量资源配置策略。
[0037] 上述方案,通过业务场景级的性能容量资源配置策略定制,实现业务场景级的性能容量资源快速配置及回收,提升了性能容量资源配置效率。避免由于应用链路的环境配置疏漏导致性能测试评估结果产生偏差,提升分布式架构下性能容量测试效率和测试质量。
[0038] 本发明实施例中,功能测试的交易并发度低,因此对系统资源容量使用要求也较低,此外为了方便日志分析和问题定位,测试环境全链路涉及的应用容器副本数保留至最小配置即可,单容器CPU和内存资源配置保持和生产一致,存储容量资源配置为测试和生产日交易量比例进行折算后的容量加上基础存储容量开销。
[0039] 功能测试的具体资源配置标准如下:
[0040] 全链路各应用节点容器副本数配置标准:
[0041] DT=Min(DP)
[0042] 其中,DT表示测试环境应用容器副本数配置;Min(DP)表示应用节点内允许的最小副本数配置;
[0043] 单容器CPU资源配置标准:
[0044] CT=CP
[0045] 其中,CT表示测试环境CPU颗数配置;CP表示生产环境CPU颗数配置;
[0046] 单容器内存资源配置标准:
[0047] MT=MP
[0048] 其中,MT表示测试环境内存配置大小;MP表示生产环境内存配置大小;
[0049] 单容器存储资源配置标准:
[0050]
[0051] 其中,HT表示测试环境存储容量大小;HP表示生产环境存储容量大小;TT表示测试环境日交易量;TP表示生产环境日交易量;HB表示测试环境存储容量基础开销。
[0052] 本发明实施例中,压力测试由于需要模拟生产用户并发进行高并发测试,因此对资源配置要求较高,单分片内的资源配比需与生产达到一致,测试环境全链路涉及的应用容器副本数与生产环境配比应为等比配置。
[0053] 压力测试的具体资源配置标准如下:
[0054] 全链路各应用节点容器副本数配置标准:
[0055] DT=DP*i
[0056] 其中,DT表示测试环境应用容器副本数配置;DP表示生产环境应用容器副本数配置;i表示测试与生产应用容器副本数配置的比例系数;
[0057] 单容器CPU资源配置标准:
[0058] CT=CP
[0059] 其中,CT表示测试环境CPU颗数配置;CP表示生产环境CPU颗数配置;
[0060] 单容器内存资源配置标准:
[0061] MT=MP
[0062] 其中,MT表示测试环境内存配置大小;MP表示生产环境内存配置大小;
[0063] 单容器存储资源配置标准:
[0064] HT=HP
[0065] 其中,HT表示测试环境存储容量大小;HP表示生产环境存储容量大小。
[0066] 上述方案,提供不同类型测试场景下的性能容量资源配置规范,包含应用节点容器副本配置规范、CPU资源配置规范、内存资源配置规范、存储资源配置规范等。基于不同类型测试场景的资源需求分析,制定生产与测试环境的资源配比规范,划定生产环境与测试环境节点数、容器副本数量比例标准,提升了性能容量资源配置效率。。
[0067] 如图3所示,为业务场景A全链路性能容量资源配置策略。业务场景A的交易全链路共涉及四个应用节点:应用1节点A、应用1节点B、应用2节点C、应用3节点D。业务场景A的测试包含两个切换场景:压力测试场景和功能测试场景。基于不同测试类型下的基于业务全链路的性能容量资源配置规范,以应用1节点A为例,压力测试场景下的资源策略配置要求为2个容器副本数、2颗CPU以及4G内存资源配置,全链路上所有应用节点的测试环境容器副本数均为生产容器副本数的1/4,单容器的CPU和内存资源与生产一致,以保证全链路性能容量测试开展过程中不发生某个应用性能容量瓶颈点偏差的情况;功能测试场景下,容器副本数配置策略为最小化保留1个容器副本数、单容器的CPU和内存资源配置与生产一致。
[0068] 本发明实施例在生成不同测试类型下的各业务场景全链路性能容量资源配置策略之后,步骤流程如图4所示,具体如下:
[0069] 步骤401,接收聚合查询指令;
[0070] 需要说明的是,聚合查询指令包括业务场景名。
[0071] 步骤402,根据业务场景名对全链路应用节点的性能容量资源配置信息进行聚合查询。
[0072] 上述方案,按照场景名对全链路涉及的所有应用节点进行聚合查询。将以往的应用节点级查询提升为业务场景级查询,便于压测过程中节点数量较多时快速准确检查当前应用配置是否正确和符合预期,大幅提升环境检查效率。
[0073] 本发明实施例在生成不同测试类型下的各业务场景全链路性能容量资源配置策略之后,还包括:
[0074] 针对每个业务场景,配置不同测试类型的资源配置策略,在接收到切换指令后,在不同资源配置策略之间进行一键切换。
[0075] 在一种可能的实施方式中,测试类型包括:功能测试、压力测试以及异常场景测试。
[0076] 本发明实施例中,针对每个业务场景支持配置不同测试类型的资源配置策略,例如功能测试策略、压力测试策略以及异常场景测试策略等,针对不同测试策略,按照容量资源配置规范设置容器副本数、CPU、内存等关键资源配置标准,为业务场景提供不同策略之间的一键资源配置切换。
[0077] 此外,本发明实施例根据实际测试场景及环境维护需求创建测试业务场景,可视化提供业务场景的集中查询、维护更新等管理功能。
[0078] 上述方案,基于底层分布式云平台访问的基础上,提供场景配置、节点配置、策略配置功能,并提供业务级场景的可视化聚合查询及场景策略切换功能。实现了业务链路级的不同测试模式之间的资源策略一键切换调整。
[0079] 本发明实施例中还提供了一种性能容量资源配置装置,如下面的实施例所述。该装置如图5所示,所述装置包括:
[0080] 配置信息收集单元501,用于收集不同业务场景的链路配置信息以及各应用节点的性能容量资源配置信息;
[0081] 性能容量资源配置规范单元502,用于确定不同测试类型下的基于业务全链路的性能容量资源配置规范;
[0082] 性能容量资源配置策略管理单元503,用于基于不同业务场景的链路配置信息、各应用节点的性能容量资源配置信息及不同测试类型下的基于业务全链路的性能容量资源配置规范,生成不同测试类型下的各业务场景全链路性能容量资源配置策略;
[0083] 本发明实施例中,所述性能容量资源配置规范单元502具体用于:
[0084] 确定各应用节点容器副本配置规范、CPU资源配置规范、内存资源配置规范及存储资源配置规范。
[0085] 本发明实施例中,所述性能容量资源配置规范单元502具体用于:
[0086] 功能测试的具体资源配置标准如下:
[0087] 全链路各应用节点容器副本数配置标准:
[0088] 测试环境应用容器副本数配置等于应用节点内允许的最小副本数配置;
[0089] 单容器CPU资源配置标准:
[0090] 测试环境CPU颗数配置等于生产环境CPU颗数配置;
[0091] 单容器内存资源配置标准:
[0092] 测试环境内存配置大小等于生产环境内存配置大小;
[0093] 单容器存储资源配置标准:
[0094] 测试环境存储容量大小与测试环境存储容量基础开销的差值等于生产环境存储容量大小乘以测试环境日交易量与生产环境日交易量的比值。
[0095] 本发明实施例中,所述性能容量资源配置规范单元502具体用于:
[0096] 压力测试的具体资源配置标准如下:
[0097] 全链路各应用节点容器副本数配置标准:
[0098] 测试环境应用容器副本数配置等于生产环境应用容器副本数配置乘以测试与生产应用容器副本数配置的比例系数;
[0099] 单容器CPU资源配置标准:
[0100] 测试环境CPU颗数配置等于生产环境CPU颗数配置;
[0101] 单容器内存资源配置标准:
[0102] 测试环境内存配置大小等于生产环境内存配置大小;
[0103] 单容器存储资源配置标准:
[0104] 测试环境存储容量大小等于生产环境存储容量大小。
[0105] 本发明实施例中,所述性能容量资源配置策略管理单元503还用于:
[0106] 在生成不同测试类型下的各业务场景全链路性能容量资源配置策略之后,接收聚合查询指令;聚合查询指令包括业务场景名;
[0107] 根据业务场景名对全链路应用节点的性能容量资源配置信息进行聚合查询。
[0108] 本发明实施例中,所述性能容量资源配置策略管理单元503还用于:
[0109] 在生成不同测试类型下的各业务场景全链路性能容量资源配置策略之后,针对每个业务场景,配置不同测试类型的资源配置策略,在接收到切换指令后,在不同资源配置策略之间进行一键切换。
[0110] 所述性能容量资源配置策略管理单元503具体用于:测试类型包括:功能测试、压力测试以及异常场景测试。
[0111] 由于该装置解决问题的原理与性能容量资源配置方法相似,因此该装置的实施可以参见性能容量资源配置方法的实施,重复之处不再赘述。
[0112] 本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述性能容量资源配置方法。
[0113] 本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述性能容量资源配置方法。
[0114] 本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述性能容量资源配置方法。
[0115] 本发明实施例中,收集不同业务场景的链路配置信息以及各应用节点的性能容量资源配置信息;确定不同测试类型下的基于业务全链路的性能容量资源配置规范;基于不同业务场景的链路配置信息、各应用节点的性能容量资源配置信息及不同测试类型下的基于业务全链路的性能容量资源配置规范,生成不同测试类型下的各业务场景全链路性能容量资源配置策略,与现有技术相比,通过业务场景级的性能容量资源配置策略定制,实现业务场景级的性能容量资源快速配置及回收,提升了性能容量资源配置效率。避免由于应用链路的环境配置疏漏导致性能测试评估结果产生偏差,提升分布式架构下性能容量测试效率和测试质量。
[0116] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0117] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0118] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0119] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0120] 以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页 第1页 第2页 第3页