一种测试服务器和云平台的制作方法

文档序号:26541469发布日期:2021-09-07 22:00阅读:97来源:国知局
一种测试服务器和云平台的制作方法

1.本发明涉及热插拔领域,更具体地,特别是指一种测试服务器和云平台。


背景技术:

2.现有技术的分布式系统的性能测试方法简述如下:根据预先配置的分布式系统的测试控制脚本,控制压力测试工具对待测试分布式节点进行压力测试,以及控制节点监控工具对待测试分布式节点进行监控;利用预先配置的分布式系统的采集探针,采集分布式系统的性能测试数据;根据预先配置的数据异常规则库对采集到的性能测试指标进行匹配;在性能测试指标匹配到数据异常规则库中的数据异常规则时,根据待测试分布式节点的系统日志输出性能测试结果。上述的现有技术具有以下缺点:
3.缺少服务指标定义——测试控制流程局限于传统的分布式节点的性能指标,仅适用常规的业内测试压力工具采集指标,该方式获得的指标并不能很好满足业务层需要,特别是在云平台微服务来说,节点磁盘输入输出指标和某一应用程序接口调用延时,不能立即说明是哪个服务的性能问题导致。
4.测试结果简单——指标测试结果的计算只是简单预设成功率阈值,并根据数据异常规则标识该指标异常。该方式实际上就是监控告警数据的简单输出,仅适用于监控系统,而不能适合以性能优化为目的的指标测试。
5.未实现真正的业务测试自动化和定制化——通过控制压力测试工具及节点监控工具的启动和停止,实现性能测试流程中所有角色的控制自动化。该“自动化”不是业务流程的自动化。不符合云平台微服务的流程性能测试场景:不同微服务组件的负载表示和场景构造。
6.也有根据各测试服务器对应的负载数据,对所述至少两台测试服务器在所述负载场景下针对所述目标应用的性能进行比较,得到比较结果的现有技术,但其使对服务器集群设备的比对测试,并不是指标测试方法设计。
7.总而言之目前已实现的监控插件技术,都只是分布式节点进行压力测试,或者对集群服务器的性能指标处理,并未从云平台微服务实际需要设计。因此对云平台微服务的指标定义、业务流程设计、配置扩展性等功能支持并不完善。
8.针对现有技术中分布式系统的性能测试方对云平台兼容性差的问题,目前尚无有效的解决方案。


技术实现要素:

9.有鉴于此,本发明实施例的目的在于提出一种测试服务器和云平台,能够适配云平台并提供对云平台有意义的可测量的测量指标和性能优化,提升云平台的运行稳定性和持续性。
10.基于上述目的,本发明实施例的第一方面提供了一种测试服务器,包括:
11.参数配置装置,用于从配置文件中解析出测量指标定义和服务参数配置信息以生
成并输出流程配置、测量配置、和服务配置;
12.流程服务装置,存储有当前的参数配置并连接到参数配置装置,用于接收并根据流程配置和参数配置使用配置驱动生成测试流程;
13.指标测量装置,连接到参数配置装置、流程服务装置和测试客户端,用于接收并根据测量配置和测试流程确定测量指标,并基于测量指标从测试客户端采集指标数据;
14.统计优化装置,连接到参数配置装置、指标测量装置和流程服务装置,用于接收并基于采集的指标数据生成指标数据汇总,接收并基于服务配置而对指标数据汇总执行最优化估计以获得最优参数组合,并使流程服务装置基于最优参数组合迭代更新参数配置。
15.在一些实施方式中,流程配置包括业务模型规则;根据流程配置和参数配置使用配置驱动生成测试流程包括:根据业务模型规则和参数配置分别生成测试模块信息、测试指标信息、和测试任务信息,并将测试模块信息、测试指标信息、和测试任务信息组装为测试流程。
16.在一些实施方式中,测试模块信息包括测试业务按照业务流向特征顺序而涉及的各子服务组件;测试指标信息包括基于业务类型而确定的采集数据指标;测试任务信息包括所有待测试业务基于流程的排列组合。
17.在一些实施方式中,指标测量装置基于测量指标从测试客户端采集指标数据包括:指标测量装置以将测试指标信息与其所在的测试模块信息和测试任务信息相对应的方式采集并记录指标数据。
18.在一些实施方式中,指标测量装置连接到客户端的指标测量插件;指标测量装置从测试客户端采集指标数据包括:指标测量装置从指标测量插件读取由指标测量插件采集的指标数据。
19.在一些实施方式中,统计优化装置基于采集的指标数据生成的指标数据汇总包括在特定时间段内获取的所有指标数据中存在至少预定比例的数据所能满足的指标,其中指标数据包括以下至少之一:接口延时、模块响应、启动延时;其中指标数据汇总包括以下至少之一:接口延时指标、模块响应指标、启动延时指标、标准指标。
20.在一些实施方式中,统计优化装置还将指标数据汇总作为业务测试结果输出。
21.在一些实施方式中,统计优化装置基于服务配置而对指标数据汇总执行最优化估计以获得最优参数组合包括:统计优化装置响应于已经从指标测量装置接收所有指标数据、并且服务配置指示统计优化装置执行最优化估计,而对指标数据汇总执行最优化估计以获得最优参数组合。
22.本发明实施例的第二方面提供了一种云平台,包括:
23.上述的测试服务器;
24.存储有指标数据的客户端。
25.在一些实施方式中,客户端中设有指标测量插件。
26.本发明具有以下有益技术效果:本发明实施例提供的测试服务器和云平台,通过使用参数配置装置,用于从配置文件中解析出测量指标定义和服务参数配置信息以生成并输出流程配置、测量配置、和服务配置;流程服务装置,存储有当前的参数配置并连接到参数配置装置,用于接收并根据流程配置和参数配置使用配置驱动生成测试流程;指标测量装置,连接到参数配置装置、流程服务装置和测试客户端,用于接收并根据测量配置和测试
流程确定测量指标,并基于测量指标从测试客户端采集指标数据;统计优化装置,连接到参数配置装置、指标测量装置和流程服务装置,用于接收并基于采集的指标数据生成指标数据汇总,接收并基于服务配置而对指标数据汇总执行最优化估计以获得最优参数组合,并使流程服务装置基于最优参数组合迭代更新参数配置的技术方案,能够适配云平台并提供对云平台有意义的可测量的测量指标和性能优化,提升云平台的运行稳定性和持续性。
附图说明
27.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
28.图1为本发明提供的测试服务器的结构示意图;
29.图2为本发明提供的测试服务器和客户端的具体结构图;
30.图3为本发明提供的测试服务器的测试方法的执行流程示意图。
具体实施方式
31.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
32.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
33.基于上述目的,本发明实施例的第一个方面,提出了一种适配云平台并提供对云平台有意义的可测量的测量指标和性能优化,提升云平台的运行稳定性和持续性的测试服务器的一个实施例。图1示出的是本发明提供的测试服务器的结构示意图。
34.所述的测试服务器包如图1所示包括:
35.参数配置装置1,用于从配置文件中解析出测量指标定义和服务参数配置信息以生成并输出流程配置、测量配置、和服务配置;
36.流程服务装置2,存储有当前的参数配置,并连接到参数配置装置1,用于接收并根据流程配置和参数配置使用配置驱动生成测试流程;
37.指标测量装置3,连接到参数配置装置1、流程服务装置2和测试客户端,用于接收并根据测量配置和测试流程确定测量指标,并基于测量指标从测试客户端采集指标数据;
38.统计优化装置4,连接到参数配置装置1、指标测量装置3和流程服务装置2,用于接收并基于采集的指标数据生成指标数据汇总,接收并基于服务配置而对指标数据汇总执行最优化估计以获得最优参数组合,并使流程服务装置2基于最优参数组合迭代更新参数配置。
39.本发明实现了云平台微服务和基础组件的业务负载场景构造、服务性能指标收集、指标测试结果的统计计算、并通过优化参数改善指标测试结果,可根据需要灵活设置指标测试范围,自定义业务流程、组合相关测试场景。
40.在一些实施方式中,流程配置包括业务模型规则;根据流程配置和参数配置使用
配置驱动生成测试流程包括:根据业务模型规则和参数配置分别生成测试模块信息、测试指标信息、和测试任务信息,并将测试模块信息、测试指标信息、和测试任务信息组装为测试流程。
41.在一些实施方式中,测试模块信息包括测试业务按照业务流向特征顺序而涉及的各子服务组件;测试指标信息包括基于业务类型而确定的采集数据指标;测试任务信息包括所有待测试业务基于流程的排列组合。
42.在一些实施方式中,指标测量装置3基于测量指标从测试客户端采集指标数据包括:指标测量装置3以将测试指标信息与其所在的测试模块信息和测试任务信息相对应的方式采集并记录指标数据。
43.在一些实施方式中,指标测量装置3连接到客户端的指标测量插件;指标测量装置3从测试客户端采集指标数据包括:指标测量装置3从指标测量插件读取由指标测量插件采集的指标数据。
44.在一些实施方式中,统计优化装置4基于采集的指标数据生成的指标数据汇总包括在特定时间段内获取的所有指标数据中存在至少预定比例的数据所能满足的指标,其中指标数据包括以下至少之一:接口延时、模块响应、启动延时;其中指标数据汇总包括以下至少之一:接口延时指标、模块响应指标、启动延时指标、标准指标。
45.在一些实施方式中,统计优化装置4还将指标数据汇总作为业务测试结果输出。
46.在一些实施方式中,统计优化装置4基于服务配置而对指标数据汇总执行最优化估计以获得最优参数组合包括:统计优化装置4响应于已经从指标测量装置3接收所有指标数据、并且服务配置指示统计优化装置4执行最优化估计,而对指标数据汇总执行最优化估计以获得最优参数组合。
47.下面根据图2所示的具体实施例进一步阐述本发明的具体实施方式。
48.本发明中的服务指标定义是影响云平台微服务性能的因素,如延时、速率、启动时间、业务响应时间等。这些指标都是服务级别的。非传统的软硬件性能指标:如某接口每秒数据量、磁盘赌侠速率等。
49.由于云平台服务,特别是微服务架构产品中,以原有某一固定阈值硬指标方式,评估平台服务性能并不合适。如某一接口远程调用延时大于1 秒。如果平台系统进行了智能负载均衡设计,下次或者下一批量的该接口调用就会使用新的节点服务,而使延时小于1秒,满足性能要求。所以已有方案的传统的软硬件性能指标不适用。现在给出一些服务指标定义:
50.接口延时指标——以某一时间段内某一接口调用的90%位数的延时指标。包括:只读接口延时、更新接口延时、删除接口延时。
51.模块响应指标——各模块以某一时间段内该模块输入到输出的90%位数的延时指标,即响应延时,如云平台微服务中的资源管理模块对业务资源配置的操作延时等。
52.启动延时指标——业务服务对象以某一时间段内该服务流程发起到结束(成功)的90%位数的延时指标。
53.标准指标项——平台中组件自带的标准性能指标。如数据库的延时指标和输入输出指标等、应用程序接口服务网关的响应延时指标和消息队列指标等。
54.上述的服务指标,除了标准指标项可由指标测量装置内置采集完成,其它的均需
要通过客户端的指标测量插件装置联合完成。
55.本发明使用基于统计方法的指标测试结果,比如延时指标计算,并不是已有的固定阈值比较,如延时小于1秒等,而是以百分位数等数据统计方式来表示,如1小时内90%服务接口延时小于1秒。
56.本发明的自定义的服务流程设计能在面对复杂多样的平台业务层场景灵活设置业务负载,并能够组合多种业务场景,进行流程测试,实现很好的参数配置扩展,而非已有的方案并未按实际业务需要明确何种类型业务负载。
57.服务流程设计的目的是为了构造服务云平台服务场景的业务负载,这些业务负载不仅只是原有系统性能指标的压力测试,如并发调用某一接口、内存使用率、磁盘io等。还要能够根据业务场景进行测试,如占用计算资源较多的训练任务测试;占用存储资源io较多的数据集读写任务测试;以及ai领域中深度学习模型训练流程的端到端测试。每个测试任务都是基于业务流程的功能测试。这样的流程测试设计,能够满足对业务指标的测量,最终能够在业务层面评估平台性能。同时,流程设计可具扩展性,便于能够进行复杂业务场景测试。如上述模型训练流程,就包括了数据集操作的读写测试任务、分布式训练的网络测试任务,计算模型参数的训练测试任务等。通过自定义服务流程设计,可以方便用户快速配置业务场景用例进行多流程组合测试。
58.本发明的测试指标优化服务参数配置通过指标定义和服务流程设计,能够让指标测试工具进行自动化运行,迭代更新平台服务可配置参数,找到满足服务指标要求的最优参数列表配置,比如指定时间段内百分位数数据统计。如果指标结果不满足要求,可以进一步针对平台服务参数优化处理,服务参数优化是在测试指标统计结果基础上,闭环迭代更新参数,使得优化指标结果满足指标要求。
59.指标测量分为指标测量开启、指标数据收集和指标测量关闭。本发明的指标测量采用服务端和客户端模型。不同客户端进行不同指标类型数据采集和某一指标下不同测量任务处理。服务端开启指标收集服务,用于接收各个测试插件采集数据。此设计能够跟踪处理服务所有测量任务的指标数据,而不是原有方案中的探针方式简单收集原始数据。
60.参见图2,参数配置读取测量指标定义、服务参数配置信息,如指标类型和参数、测试子系统模块、测试阈值、业务模型定义等配置。
61.流程服务装置通过参数配置和定义的业务模型规则,根据配置驱动生成待测试流程。如:测试模块配置启动,测试指标启动,测试任务启动等。每个测试流程都包括测试模块、测试指标和测试任务三个部分。测试模块表示要插入测试探针的位置,比如待测试业务所涉及到的各个子服务组件。测试模块按业务流向特征表示,一般为列表形式。如[调度器模块,数据集模块,训练任务模块,

]。测试指标根据业务类型启动相应的指标采集,比如:延时、吞吐量、并发请求量速率等。测试任务就是待测试业务定义,比如说:启动流程、调度流程、数据集处理流程等。这里的测试任务可以根据实际业务场景,进行多个任务的组合,比如:启动

>调度

>数据集处理流程。这样可以测试业务层的性能指标。另外还为每个测试服务对象生成一个trace

id,用于关联标识其在各个测试任务、模块中的测试指标。比如:trace

id=xxx的对象,在启动、调度、数据集处理流程的延时指标分别是{trace

id:xxx,{r,s,t}};吞吐量指标分别是{trace

id:xxx,{x,y,z}}。
[0062]
指标测量装置根据参数配置和流程装置的测试指标,实现服务指标定义,启动相
应的指标处理策略接口和参数,并通过部署到待测子系统模块的指标插件进行指标数据采集。
[0063]
统计优化装置,根据服务指标和参数配置,进行指标数据统计处理和参数优化估计。具体来说,把从指标测量装置中收集到的指标数据,进行指标统计汇总(如:各百分位数据统计;子系统和端到端的指标数值计算);根据优化模型输入格式要求,对统计指标数据整理,构建服务参数优化数据源;如果服务参数优化配置开启,则进行服务参数最优化计算,搜索参数;根据目前得到的当时最优服务参数,通知流程服务装置进行迭代测试;如果服务参数最优化流程结束,则输出最优化参数列表;如果指标测量收集完成,在服务流程的每次迭代或者结束时,输出指标统计结果。
[0064]
由于优化估计是基于可测量的业务流程的指标统计进行计算的,所以,该装置可以计算出跟服务流程相关的所有组件参数的系统全局最优组合,如:{接口服务参数信息,调度器参数信息,数据存储参数信息}。而不是传统的只对各个子系统和模块的参数局部做优化。上述模块间的信息传递和运转流程由图3示出。
[0065]
本发明包括可自定义的服务流程、指标采集和优化估计的配置文件模板,配置文件模板包括环境变量信息;业务场景和负载配置;指标采集动作;优化估计配置。通过此完备的配置设计,不用修改测试工具代码,即可满足多业务场景下的性能测试需求,扩展了测试工具装置的适用范围。
[0066]
服务流程装置实现了服务指标测量的控制处理,包括:按并发模型构造业务负载;何时启动哪个服务组件的何种类型指标的测量;何时采集指标并关闭;根据服务配置生成测试业务流程组合(父子流程;并行流程;串行流程)。服务流程装置驱动了指标数据的生成和服务参数优化处理的迭代。
[0067]
统计优化装置基于服务流程产生的指标数据源,对服务参数进行优化处理。由于本设计给出了明确的服务指标定义,使得优化算法的处理目标是满足最好服务指标值,这样的优化参数结果集就是系统服务的全局最优解。而非传统的只基于子系统(如数据库存储、或接口子系统)的参数局部优化处理。
[0068]
另外,统计最优化目标函数表达式如下:
[0069][0070]
其中,processes是配置的业务流程,如:调度流程、数据集处理、训练作业流程等;延时(latency)和吞吐量(throughput)是process流程的服务指标性能的量化表示,具体数值需由统计得出,如平均延时和平均吞吐量; alpha和beta是权重系数,可以根据实际业务环境调整设置;gamma是附加项,可根据自定义流程设计是否添加并设置;目标函数的最小值是在全业务流程场景中寻找性能指标最佳值。
[0071]
从上述实施例可以看出,本发明实施例提供的测试服务器,通过使用参数配置装置,用于从配置文件中解析出测量指标定义和服务参数配置信息以生成并输出流程配置、测量配置、和服务配置;流程服务装置,存储有当前的参数配置并连接到参数配置装置,用于接收并根据流程配置和参数配置使用配置驱动生成测试流程;指标测量装置,连接到参数配置装置、流程服务装置和测试客户端,用于接收并根据测量配置和测试流程确定测量指标,并基于测量指标从测试客户端采集指标数据;统计优化装置,连接到参数配置装置、
指标测量装置和流程服务装置,用于接收并基于采集的指标数据生成指标数据汇总,接收并基于服务配置而对指标数据汇总执行最优化估计以获得最优参数组合,并使流程服务装置基于最优参数组合迭代更新参数配置的技术方案,能够适配云平台并提供对云平台有意义的可测量的测量指标和性能优化,提升云平台的运行稳定性和持续性。
[0072]
基于上述目的,本发明实施例的第二个方面,提出了一种适配云平台并提供对云平台有意义的可测量的测量指标和性能优化,提升云平台的运行稳定性和持续性的云平台的一个实施例。云平台包括:
[0073]
上述的测试服务器;
[0074]
存储有指标数据的客户端。
[0075]
在一些实施方式中,客户端中设有指标测量插件。
[0076]
从上述实施例可以看出,本发明实施例提供的云平台,通过使用参数配置装置,用于从配置文件中解析出测量指标定义和服务参数配置信息以生成并输出流程配置、测量配置、和服务配置;流程服务装置,存储有当前的参数配置并连接到参数配置装置,用于接收并根据流程配置和参数配置使用配置驱动生成测试流程;指标测量装置,连接到参数配置装置、流程服务装置和测试客户端,用于接收并根据测量配置和测试流程确定测量指标,并基于测量指标从测试客户端采集指标数据;统计优化装置,连接到参数配置装置、指标测量装置和流程服务装置,用于接收并基于采集的指标数据生成指标数据汇总,接收并基于服务配置而对指标数据汇总执行最优化估计以获得最优参数组合,并使流程服务装置基于最优参数组合迭代更新参数配置的技术方案,能够适配云平台并提供对云平台有意义的可测量的测量指标和性能优化,提升云平台的运行稳定性和持续性。
[0077]
需要特别指出的是,上述云平台的实施例采用了所述测试服务器的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述测试服务器的其他实施例中。当然,由于所述测试服务器实施例中的各个模块均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述云平台也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
[0078]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1