用于确定极限状态信息的方法、装置、设备、介质和产品与流程



1.本公开涉及计算机领域,进一步涉及软件测试技术领域,尤其涉及用于确定极限状态信息的方法、装置、设备、介质和产品。


背景技术:



2.目前,在云服务环境下,经常会基于负载情况动态地进行扩容或者缩容,以此实现资源的动态分配,能够最大程度提高资源的利用率。
3.对此,对于负载情况进行评估,确定负载的极限状态尤为重要。


技术实现要素:



4.本公开提供了一种用于确定极限状态信息的方法、装置、设备、介质和产品。
5.根据第一方面,提供了一种用于确定极限状态信息的方法,包括:获取各个应用的样本实例集合;对于每个样本实例集合中的每个样本实例,执行以下压力测试步骤:在单个时间周期内,向该样本实例转发初始数值的线上流量;确定该样本实例在单个时间周期内的指标数据;响应于确定指标数据满足预设的熔断条件,确定压力测试结束,得到压力测试结果;基于压力测试结果,确定该样本实例的极限状态信息;基于各个样本实例的极限状态信息,确定各个样本实例集合对应的极限状态信息。
6.根据第二方面,提供了一种用于确定极限状态信息的装置,包括:集合获取单元,被配置成获取各个应用的样本实例集合;实例信息确定单元,被配置成对于每个样本实例集合,对该样本实例集合中的各个样本实例进行压力测试,确定各个样本实例的极限状态信息;集合信息确定单元,被配置成基于各个样本实例的极限状态信息,确定各个样本实例集合对应的极限状态信息;实例信息确定单元进一步被配置成:对于每个样本实例集合中的每个样本实例,执行以下压力测试步骤:在单个时间周期内,向该样本实例转发初始数值的线上流量;确定该样本实例在单个时间周期内的指标数据;响应于确定指标数据满足预设的熔断条件,确定压力测试结束,得到压力测试结果;基于压力测试结果,确定该样本实例的极限状态信息。
7.根据第三方面,提供了一种执行用于确定极限状态信息的方法的电子设备,包括:一个或多个计算单元;存储单元,用于存储一个或多个程序;当一个或多个程序被一个或多个计算单元执行,使得一个或多个计算单元实现如上任意一项用于确定极限状态信息的方法。
8.根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如上任意一项用于确定极限状态信息的方法。
9.根据第五方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被计算单元执行时实现如上任意一项用于确定极限状态信息的方法。
10.根据本技术的技术,提供一种用于确定极限状态信息的方法,通过获取各个应用的样本实例集合,并对样本实例集合中的各个样本实例进行压力测试,能够得到样本实例
的极限状态信息,进一步确定得到样本实例集合对应的极限状态信息。这一过程通过确定应用的样本实例集合以及对样本实例进行压力测试,能够确定出符合实际应用场景的极限状态信息,可以提高极限状态信息的确定精准度。
11.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
12.附图用于更好地理解本方案,不构成对本公开的限定。其中:
13.图1是本技术的一个实施例可以应用于其中的示例性系统架构图;
14.图2是根据本技术的用于确定极限状态信息的方法的一个实施例的流程图;
15.图3是根据本技术的用于确定极限状态信息的方法的一个应用场景的示意图;
16.图4是根据本技术的用于确定极限状态信息的方法的另一个实施例的流程图;
17.图5是根据本技术的用于确定极限状态信息的方法的另一个实施例的流程图;
18.图6是根据本技术的用于确定极限状态信息的装置的一个实施例的结构示意图;
19.图7是用来实现本公开实施例的用于确定极限状态信息的方法的电子设备的框图。
具体实施方式
20.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
21.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
22.图1是根据本公开第一实施例的示例性系统架构示意图,其示出了可以应用本技术的用于确定极限状态信息的方法的实施例的示例性系统架构100。
23.如如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
24.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103可以为手机、电脑以及平板等电子设备,在终端设备101、102、103中,可以安装有各个应用,其中,这些应用分别部署在相应的服务器中。在本公开应用到云计算场景的情况下,这些服务器为云计算服务器,每个云计算服务器可以采用多个容器的形式组成集,基于容器集提供相应的应用服务。
25.终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于电视、智能手机、平板电脑、电子书阅读器、车载电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
26.服务器105可以是提供各种服务的服务器,例如可以获取终端设备101、102、103中需要进行资源分配的各个应用的应用信息,再基于应用信息获取各个应用的样本实例集合,通过对样本实例集合中的各个样本实例进行压力测试,得到各个样本实例集合对应的极限状态信息,基于极限状态信息,分配各个应用对应的资源。
27.需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
28.需要说明的是,本技术实施例所提供的用于确定极限状态信息的方法可以由终端设备101、102、103执行,也可以由服务器105执行。相应地,用于确定极限状态信息的装置可以设置于终端设备101、102、103中,也可以设置于服务器105中。
29.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
30.继续参考图2,示出了根据本技术的用于确定极限状态信息的方法的一个实施例的流程200。本实施例的用于确定极限状态信息的方法,包括以下步骤:
31.步骤201,获取各个应用的样本实例集合。
32.在本实施例中,执行主体(如图1中的服务器105或者终端设备101、102、103)可以先确定需要分配资源的各个应用,再对每个应用,从该应用的所有实例中进行抽样,得到该应用的部分实例作为该应用的样本实例集合。其中,样本实例集合用于对抽取出的该应用的实例进行压力测试,以此预估应用在实际使用中的极限状态,基于此进行资源分配。其中,实例指的是在计算机程序中,根据抽象的模板创建出的具体的对象,其表现形式为相应的代码段。其中,每个应用对应的程序代码包含多个实例。可选的,在对应用进行抽样,确定每个应用的样本实例集合时,可以预先设置抽样比例,按照该应用的实例总数以及抽样比例,确定需要抽取的实例个数,再随机抽取与该实例个数相匹配的样本实例,组成样本实例集合。可以理解的是,抽取的样本实例个数越多,基于样本实例集合预估得到的极限状态越准确,但数据计算量较大,在实际应用中,可以根据不同的使用需求选取抽取的样本实例个数,平衡数据计算量以及预估极限状态的准确度之间的关系。
33.步骤202,对于每个样本实例集合中的每个样本实例,执行以下压力测试步骤:在单个时间周期内,向该样本实例转发初始数值的线上流量;确定该样本实例在单个时间周期内的指标数据;响应于确定指标数据满足预设的熔断条件,确定压力测试结束,得到压力测试结果。
34.在本实施例中,上述压力测试步骤为单实例压力测试,可以预先设置时间周期,并在每个时间周期中,向单个样本实例转发初始数值的线上流量。这里的转发方式可以基于混沌工程对样本实例进行防火墙端口转发实现。之后,监控样本实例在一个时间周期内的指标数据。并且执行主体预设有熔断条件,熔断条件用于判断样本实例是否达到极限状态,也即是,在指标数据满足熔断条件的情况下,说明样本实例已不能正常提供服务,此时确定压力测试结束,得到压力测试结果。其中,压力测试结果可以包括但不限于压力测试的周期数、指标数据在满足熔断条件前的一个时间周期内的最大流量、最大资源利用率以及压力测试时长等信息。
35.其中,每个样本实例集合中包含多个样本实例,可以通过对这些样本实例进行压力测试,来确定这些样本实例的极限状态信息。其中,极限状态信息用于描述样本实例能承受的最大流量、最大资源利用率等信息。压力测试指的是给实例不断增加流量,监控在增加流量的过程中实例的运行情况,直至实例无法正常运行,以此获得实例所能承受的最大流量、最大资源利用率、最大用户并发数等包含多种信息的极限状态信息。
36.可选的,在进行压力测试的过程中,可以将线上用户流量导流至进行测试的样本实例,还可以将未测试的实例的流量导流至进行测试的样本实例,以此增加流量值。对于将线上用户流量导流至进行测试的样本实例的情况而言,优选采用单实例测试的方式,也即是,每次压力测试针对单个样本实例,将线上用户流量导流至该单个样本实例。这种方式相较于多实例测试,能够降低对线上用户的影响,提高测试安全性。也可以直接对多个样本实例同时进行压力测试,能够提高极限状态信息确定速率,但会影响测试安全性。在实际使用中,可以根据实际使用需求选取不同的压力测试方式,本实施例对此不做限定。
37.步骤203,基于所述压力测试结果,确定该样本实例的极限状态信息。
38.在本实施例中,压力测试结果中可以包含指标数据在满足熔断条件前的一个时间周期内的最大流量、最大资源利用率等信息,基于压力测试结果,可以确定出样本实例在熔断前的一个时间周期内的最大流量、最大资源利用率,将其作为该样本实例的极限状态信息。
39.步骤204,基于各个样本实例的极限状态信息,确定各个样本实例集合对应的极限状态信息。
40.在本实施例中,在得到每个应用的样本实例集合的所有样本实例的极限状态信息之后,可以对这些极限状态信息进行汇总,得到与每个样本实例集合对应的极限状态信息。由于每个样本实例的极限状态信息中可以包含多种指标数据,如上述的最大流量、最大资源利用率、最大用户并发数,因此对每个样本实例的这些数据可以直接进行求平均值或者确定中位数等数据处理方式,得到能够综合反映样本实例集合中各个样本实例数据的综合数据,将其确定为样本实例集合对应的极限状态信息。
41.可选的,基于各个样本实例的极限状态信息,确定各个样本实例集合对应的极限状态信息可以包括以下步骤:对于每个样本实例集合,将该样本实例集合的各个样本实例的极限状态信息进行排序,极限状态信息包括最大流量以及最大资源利用率;具体可以按照最大流量由高至低的顺序对各个样本实例的最大流量进行排序,取排序结果的中位数前后预设数量的最大流量,计算平均值,得到综合的最大流量;以及按照最大资源利用率由高至低的顺序对各个样本实例的最大资源利用率进行排序,取排序结果的中位数前后预设数量的最大资源利用率,计算平均值,得到综合的最大资源利用率;将综合的最大流量和综合的最大资源利用率确定为该样本实例集合对应的极限状态信息。
42.可选的,还可以执行以下步骤:基于各个样本实例集合对应的极限状态信息,分配各个应用对应的资源。其中,每个样本实例集合对应有相应的应用,基于该样本实例集合对应的极限状态信息,可以向相应的应用分配资源。具体的,可以基于样本实例集合的极限状态信息以及应用的实际状态信息,确定应用的资源占用状态,基于资源占用状态确定减少对该应用的资源分配或者增加对该应用的资源分配。其中,资源可以为应用服务器集,并且在云计算环境下,该资源可以为集环境中的多个容器。分配资源至少包括增加或减少
服务器数量、容器数量。
43.继续参见图3,其示出了根据本技术的用于确定极限状态信息的方法的一个应用场景的示意图。在图3的应用场景中,包括应用a、b、c三种不同的应用,可以按照单个应用为粒度,确定极限状态信息。具体的,分别确定与应用a、b、c分别对应的样本实例集合a、样本实例集合b以及样本实例集合c。之后,对于样本实例集合a中的样本实例1、2分别进行压力测试,得到相应的极限状态信息1、2;对于样本实例集合b中的样本实例3、4分别进行压力测试,得到相应的极限状态信息3、4;对于样本实例集合c中的样本实例5、6分别进行压力测试,得到相应的极限状态信息5、6。之后,再整合极限状态信息1、2得到极限状态信息a,整合极限状态信息3、4得到极限状态信息b,整合极限状态信息5、6得到极限状态信息c。之后,再基于极限状态信息a分配应用a的资源,基于极限状态信息b分配应用b的资源,基于极限状态信息c分配应用c的资源。
44.本技术上述实施例提供的用于确定极限状态信息的方法,通过获取各个应用的样本实例集合,并对样本实例集合中的各个样本实例进行压力测试,能够得到样本实例的极限状态信息,进一步确定得到样本实例集合对应的极限状态信息,再基于各个集合对应的极限状态信息分配资源。这一过程通过确定应用的样本实例集合以及对样本实例进行压力测试,能够确定出符合实际应用场景的极限状态信息,基于这种较为准确的资源分配依据,能够提高资源分配的精确度。
45.继续参见图4,其示出了根据本技术的用于确定极限状态信息的方法的另一个实施例的流程400。如图4所示,本实施例的用于确定极限状态信息的方法可以包括以下步骤:
46.步骤401,获取各个应用的样本实例集合。
47.在本实施例中,对于步骤401的详细描述请参照对步骤201的详细描述,在此不再赘述。
48.步骤402,对于每个样本实例集合中的每个样本实例,执行以下压力测试步骤:在单个时间周期内,向该样本实例转发初始数值的线上流量;确定该样本实例在单个时间周期内的指标数据;响应于确定指标数据满足预设的熔断条件,确定压力测试结束,得到压力测试结果。
49.在本实施例中,对于步骤402的详细描述请参照对于步骤202的详细描述,在此不再赘述。
50.在本实施例一些可选的实现方式中,指标数据述至少包括实例稳定性指标数据和应用稳定性指标数据;以及,预设的熔断条件为:实例稳定性指标数据处于第一数值区间;和/或,应用稳定性指标数据处于第二数值区间。
51.在本实现方式中,实例稳定性指标数据用于描述样本实例的稳定性特征,应用稳定性指标数据用于描述应用的稳定性特征。具体的,实例稳定性指标数据可以包括但不限于延时、资源利用率、流量、服务级别协议,应用稳定性指标数据可以包括但不限于服务的服务级别协议、服务和上下游链路的稳定性、链路核心服务的稳定性。进一步的,实例稳定性指标数据处于第一数值区间说明实例不稳定,应用稳定性指标数据处于第二数值区间说明服务不稳定。通过采用实例、服务稳定性两方面的指标数据,可以确定出实例、服务稳定性两方面的极限状态,极限状态信息更加丰富、全面。具体的,对于不同的实例稳定性指标数据,具有不同的第一数值区间。如对于延时,第一数值区间为大于历史一周内的延迟峰值
的区间;对于资源利用率,第一数值区间为大于预设的资源利用率阈值;对于服务级别协议,第一数值区间为低于预设的等级。其中,服务级别协议用于描述服务要求的可用性等级,可用性等级越小,说明实例可用性越差。具体的,对于不同的应用稳定性指标数据,可以选择只要任一应用稳定性指标数据处于第二数值区间,则满足预设的熔断条件。也即是,实例稳定性指标数据处于第一数值区间说明样本实例已经处于不稳定状态;应用稳定性指标数据处于第二数值区间说明应用已经处于不稳定状态,此时确认触发熔断条件。
52.在本实施例一些可选的实现方式中,还可以执行以下步骤:获取预设时长的滑动窗口中各个时间点对应的实例稳定性指标数据和应用稳定性指标数据;基于各个时间点对应的实例稳定性指标数据和应用稳定性指标数据,确定实例稳定性指标数据平均值和应用稳定性指标数据平均值;响应于确定实例稳定性指标数据处于第一数值区间,确定实例稳定性指标数据处于第一数值区间的第一次数;响应于确定应用稳定性指标数据处于第二数值区间,确定应用稳定性指标数据处于第二数值区间的第二次数;响应于确定第一次数大于预设的第一次数阈值、第二次数大于预设的第二次数阈值、实例稳定性指标数据平均值大于第一平均值阈值和/或应用稳定性指标数据平均值大于第二平均值阈值,确定指标数据满足预设的熔断条件。
53.在本实现方式中,滑动窗口的时长可以根据需求自定义设置,并且滑动窗口可以基于时间点不断向前移动,得到多个时间段,对每个时间段都会执行上述步骤。并且在滑动窗口中包含多个时间点,在每个时间点均会获取一次指标数据,其中,各个时间点之间的时间间隔可以是均等的,也可以是不等的,本实施例对此不做限定。之后,由于指标数据中包含多种类型的数据,如实例稳定性指标数据、应用稳定性指标数据,并且实例稳定性指标数据中可以包括多种指标数据,应用稳定性指标数据中也可以包括多种指标数据。可以确定这些数据中是否存在处于第一数值区间或者第二数值区间的不稳定数据,如果存在,确定不稳定数据处于第一数值区间或者第二数值区间的次数。其中,该次数可以为连续超过处于第一数值区间或者第二数值区间的次数,也可以为非连续的累计次数,本实施例对此不做限定。如果次数大于预设的次数阈值,则说明指标数据满足熔断条件。又或者,还可以计算各个时间点对应的实例稳定性指标数据的平均值,得到实例稳定性指标数据平均值;计算各个时间点对应的应用稳定性指标数据的平均值,得到应用稳定性指标数据平均值。其中,由于实例稳定性指标数据、应用稳定性指标数据包含多种类型的数据,可以基于每个数据类型,计算该数据类型下的实例稳定性指标数据或者应用稳定性指标数据的平均值,并将该平均值与平均值阈值进行比较,如果超出平均值阈值,则说明指标数据满足熔断条件。
54.举例来说,如果预设时长为120秒,各个时间点之间的时间间隔是均等的,为6秒,第一数值区间和第二数值区间均为超过108%,第一平均值阈值和第二平均值阈值均为90%,预设的次数阈值为1,也即是,预设时长内实例稳定性指标数据平均值超过90%、应用稳定性指标数据平均值超过90%、单个时间点的实例稳定性指标数据超过108%和/或单个时间点的应用稳定性指标数据超过108%,则触发熔断条件。其中,第一数值区间和第二数值区间对应的阈值与平均值阈值之间的预设倍数为1.2。
55.在本实施例一些可选的实现方式中,响应于确定指标数据满足预设的熔断条件,确定压力测试结束,得到压力测试结果,包括:响应于确定指标数据满足预设的熔断条件,确定压力测试结束,基于上一时间周期的指标数据,确定压力测试结果。
56.在本实现方式中,在压力测试结束之后,此时的指标数据为当前时间周期的数据,可以确定相对于当前时间周期的上一时间周期,再确定上一时间周期的指标数据,也即是基于熔断前的指标数据确定压力测试结果。
57.步骤403,响应于确定指标数据不满足预设的熔断条件,按照预设的数值增加方式,更新初始数值,并继续执行压力测试步骤。
58.在本实施例中,预设的数值增加方式可以包括但不限于每次增加固定的数值、每次增加固定的倍数值、逐渐降低增加的数值、逐渐增加需要增加的数值等,本实施例对此不做限定。并且,响应于确定指标数据不满足预设的熔断条件,确定完成一个时间周期的压力测试,更新初始数值之后再继续执行压力测试步骤,相当于进行下一个时间周期的压力测试。
59.步骤404,基于压力测试结果,确定该样本实例的极限状态信息。
60.在本实施例中,压力测试结果中可以包含指标数据在满足熔断条件前的一个时间周期内的最大流量、最大资源利用率等信息,基于压力测试结果,可以确定出样本实例在熔断前的一个时间周期内的最大流量、最大资源利用率,将其作为该样本实例的极限状态信息。
61.步骤405,基于各个样本实例的极限状态信息,确定各个样本实例集合对应的极限状态信息。
62.在本实施例中,对于步骤405的详细描述请参照对于步骤203的详细描述,在此不再赘述。
63.步骤406,对于每个应用,获取该应用的实际状态信息。
64.在本实施例中,实际状态信息用于描述应用当前实际的状态信息,如当前流量、当前资源占用率。
65.步骤407,将实际状态信息与该应用对应的样本实例集合对应的极限状态信息进行比较,得到比较结果。
66.在本实施例中,可以将当前流量和极限状态信息中的最大流量进行比较,以及将当前资源占用率和极限状态信息中的最大资源占用率进行比较,得到比较结果。比较结果用于指示当前流量和极限状态信息中的最大流量之间的大小关系、当前资源占用率和极限状态信息中的最大资源占用率之间的大小关系。可选的,也可以为最大流量和最大资源占用率设置波动范围,例如百分之八十,以此将当前流量和最大流量的百分之八十比较,将当前资源占用率与最大资源占用率的百分之八十比较。
67.步骤408,基于比较结果,对该应用的初始集资源进行扩容操作或者缩容操作。
68.在本实施例中,如果当前流量小于极限状态信息中的最大流量或者当前资源占用率小于极限状态信息中的最大资源占用率,则可以对应用的初始集资源进行缩容操作;如果当前流量大于极限状态信息中的最大流量或者当前资源占用率大于极限状态信息中的最大资源占用率,则可以对应用的初始集资源进行扩容操作。又或者,如果当前流量小于最大流量的百分之八十或者当前资源占用率小于最大资源占用率的百分之八十,可以对应用的初始集资源进行缩容操作。
69.本技术的上述实施例提供的用于确定极限状态信息的方法,还可以基于实例稳定性指标数据和应用稳定性指标数据两方面设置熔断条件,使得熔断的判断更加精准,进一
步提高了资源分配的精准度。并且可以计算滑动窗口的指标数据平均值,结合滑动窗口内各个时间点对应的指标数据,双重判断是否触发熔断条件,充分考虑了数据平均情况以及数据突发情况两方面,进一步提高了资源分配的精准度。基于应用的实际状态信息与极限状态信息进行比较,能够实现扩容或者缩容,实现了弹性扩缩容,资源分配更加灵活。
70.继续参见图5,其示出了根据本技术的用于确定极限状态信息的方法的另一个实施例的流程500。如图5所示,本实施例的用于确定极限状态信息的方法应用于智能推荐场景,具体可以包括以下步骤:
71.步骤501,在智能推荐场景中,获取需要被推荐资源分配方案的应用集合。
72.在本实施例中,执行主体(如服务器)可以为需要生成资源分配方案的应用集合,生成对各个应用的弹性扩缩容方案。其中,需要被推荐资源分配方案的应用集合中可以包括多种不同类型的应用。
73.步骤502,对上述应用集合的各个应用进行抽样,得到各个应用的样本实例集合。
74.在本实施例中,对于各个应用进行抽样得到各个样本实例集合的具体方式请参照对步骤201的详细描述,在此不再赘述。
75.步骤503,确定各个样本实例集合对应的最大流量和极限资源利用率。
76.在本实施例中,执行主体可以通过执行步骤202至203,得到各个样本实例集合对应的极限状态信息。其中,极限状态信息可以包括最大流量和极限资源利用率。
77.步骤504,对于上述应用集合的每个应用,基于该应用对应的各个样本实例集合对应的最大流量和极限资源利用率,确定该应用所能承受的最大流量和极限资源利用率。
78.在本实施例中,执行主体可以汇总各个应用对应的各个样本实例集合的最大流量和极限资源利用率,如计算平均值、求中位数等,以此确定各个应用对应的最大流量和极限资源利用率。
79.步骤505,实时监控上述应用集合中各个应用的实际流量和实际资源利用率,并在实际流量小于最大流量和/或实际资源利用率小于极限资源利用率的情况下,确定对相应的应用进行缩容,以及在实际流量大于最大流量和/或实际资源利用率大于极限资源利用率的情况下,确定对相应的应用进行扩容。
80.在本实施例中,执行主体还可以实时监控各个应用的实际流量和实际资源利用率,并将实际流量和最大流量进行比对,以及将实际资源利用率和极限资源利用率进行比对。对于实际流量小于最大流量和/或实际资源利用率小于极限资源利用率的应用,确定对该应用的资源分配方案是进行缩容,对于实际流量大于最大流量和/或实际资源利用率大于极限资源利用率的应用,确定对该应用的资源分配方案是进行扩容。
81.步骤506,基于对上述应用集合中各个应用所进行的扩容或者缩容,生成针对上述应用集合的资源分配方案,并推荐该资源分配方案。
82.在本实施例中,资源分配方案中可以包含每个应用对应的扩缩容结果,例如上述应用集合包含应用a、b、c,那么资源分配方案可以为对应用a进行扩容、对应用b进行缩容以及对应用c进行缩容。
83.本技术的上述实施例提供的用于确定极限状态信息的方法,还可以在智能推荐场景下,生成对于包含各个应用的应用集合的资源分配方案,并推荐该资源分配方案。相关技术人员可以通过选择执行主体所推荐的资源分配方案,按照该资源分配方案对各个应用执
行扩缩容操作。
84.进一步参考图6,作为对上述各图所示方法的实现,本技术提供了一种用于确定极限状态信息的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种服务器中。
85.如图6所示,本实施例的用于确定极限状态信息的装置600包括:集合获取单元601、实例信息确定单元602、集合信息确定单元603以及资源分配单元604。
86.集合获取单元601,被配置成获取各个应用的样本实例集合。
87.实例信息确定单元602,被配置成对于每个样本实例集合,对该样本实例集合中的各个样本实例进行压力测试,确定各个样本实例的极限状态信息。
88.集合信息确定单元603,被配置成基于各个样本实例的极限状态信息,确定各个样本实例集合对应的极限状态信息。
89.实例信息确定单元602进一步被配置成:对于每个样本实例集合中的每个样本实例,执行以下压力测试步骤:在单个时间周期内,向该样本实例转发初始数值的线上流量;确定该样本实例在单个时间周期内的指标数据;响应于确定指标数据满足预设的熔断条件,确定压力测试结束,得到压力测试结果;基于压力测试结果,确定该样本实例的极限状态信息。
90.在本实施例的一些可选的实现方式中,上述装置还包括:数值更新单元,被配置成响应于确定指标数据不满足预设的熔断条件,按照预设的数值增加方式,更新初始数值,并继续执行压力测试步骤。
91.在本实施例的一些可选的实现方式中,指标数据述至少包括实例稳定性指标数据和应用稳定性指标数据;以及,预设的熔断条件为:实例稳定性指标数据处于第一数值区间;和/或,应用稳定性指标数据处于第二数值区间。
92.在本实施例的一些可选的实现方式中,实例信息确定单元602进一步被配置成:获取预设时长的滑动窗口中各个时间点对应的所述实例稳定性指标数据和所述应用稳定性指标数据;基于各个时间点对应的所述实例稳定性指标数据和所述应用稳定性指标数据,确定实例稳定性指标数据平均值和应用稳定性指标数据平均值;响应于确定所述实例稳定性指标数据处于所述第一数值区间,确定所述实例稳定性指标数据处于所述第一数值区间的第一次数;响应于确定所述应用稳定性指标数据处于所述第二数值区间,确定所述应用稳定性指标数据处于所述第二数值区间的第二次数;响应于确定所述第一次数大于预设的第一次数阈值、所述第二次数大于预设的第二次数阈值、所述实例稳定性指标数据平均值大于第一平均值阈值和/或所述应用稳定性指标数据平均值大于第二平均值阈值,确定所述指标数据满足所述预设的熔断条件。
93.在本实施例的一些可选的实现方式中,实例信息确定单元602进一步被配置成:响应于确定指标数据满足预设的熔断条件,确定压力测试结束,基于上一时间周期的指标数据,确定压力测试结果。
94.应当理解,用于确定极限状态信息的装置600中记载的单元601至单元604分别与参考图2中描述的方法中的各个步骤相对应。由此,上文针对用分配资源的方法描述的操作和特征同样适用于装置600及其中包含的单元,在此不再赘述。
95.根据本技术的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种
计算机程序产品。
96.图7示出了用来实现本公开实施例的用于确定极限状态信息的方法的电子设备700的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
97.如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
98.设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
99.计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如用于确定极限状态信息的方法。例如,在一些实施例中,用于确定极限状态信息的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到ram 703并由计算单元701执行时,可以执行上文描述的用于确定极限状态信息的方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行用于确定极限状态信息的方法。
100.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
101.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件
包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
102.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
103.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
104.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
105.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
106.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
107.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

技术特征:


1.一种用于确定极限状态信息的方法,包括:获取各个应用的样本实例集合;对于每个样本实例集合中的每个样本实例,执行以下压力测试步骤:在单个时间周期内,向该样本实例转发初始数值的线上流量;确定该样本实例在单个时间周期内的指标数据;响应于确定所述指标数据满足预设的熔断条件,确定压力测试结束,得到压力测试结果;基于所述压力测试结果,确定该样本实例的极限状态信息;基于各个样本实例的极限状态信息,确定各个样本实例集合对应的极限状态信息。2.根据权利要求1所述的方法,其中,所述方法还包括:响应于确定所述指标数据不满足所述预设的熔断条件,按照预设的数值增加方式,更新所述初始数值,并继续执行所述压力测试步骤。3.根据权利要求1所述的方法,其中,所述指标数据述至少包括实例稳定性指标数据和应用稳定性指标数据;以及所述预设的熔断条件为:所述实例稳定性指标数据处于第一数值区间;和/或所述应用稳定性指标数据处于第二数值区间。4.根据权利要求3所述的方法,其中,所述方法还包括:获取预设时长的滑动窗口中各个时间点对应的所述实例稳定性指标数据和所述应用稳定性指标数据;基于各个时间点对应的所述实例稳定性指标数据和所述应用稳定性指标数据,确定实例稳定性指标数据平均值和应用稳定性指标数据平均值;响应于确定所述实例稳定性指标数据处于所述第一数值区间,确定所述实例稳定性指标数据处于所述第一数值区间的第一次数;响应于确定所述应用稳定性指标数据处于所述第二数值区间,确定所述应用稳定性指标数据处于所述第二数值区间的第二次数;响应于确定所述第一次数大于预设的第一次数阈值、所述第二次数大于预设的第二次数阈值、所述实例稳定性指标数据平均值大于第一平均值阈值和/或所述应用稳定性指标数据平均值大于第二平均值阈值,确定所述指标数据满足所述预设的熔断条件。5.根据权利要求1所述的方法,其中,所述响应于确定所述指标数据满足预设的熔断条件,确定压力测试结束,得到压力测试结果,包括:响应于确定所述指标数据满足所述预设的熔断条件,确定压力测试结束,基于上一时间周期的指标数据,确定所述压力测试结果。6.一种用于确定极限状态信息的装置,包括:集合获取单元,被配置成获取各个应用的样本实例集合;实例信息确定单元,被配置成对于每个样本实例集合,对该样本实例集合中的各个样本实例进行压力测试,确定各个样本实例的极限状态信息;集合信息确定单元,被配置成基于各个样本实例的极限状态信息,确定各个样本实例集合对应的极限状态信息;所述实例信息确定单元进一步被配置成:对于每个样本实例集合中的每个样本实例,执行以下压力测试步骤:在单个时间周期
内,向该样本实例转发初始数值的线上流量;确定该样本实例在单个时间周期内的指标数据;响应于确定所述指标数据满足预设的熔断条件,确定压力测试结束,得到压力测试结果;基于所述压力测试结果,确定该样本实例的极限状态信息。7.根据权利要求6所述的装置,其中,所述装置还包括:数值更新单元,被配置成响应于确定所述指标数据不满足所述预设的熔断条件,按照预设的数值增加方式,更新所述初始数值,并继续执行所述压力测试步骤。8.根据权利要求6所述的装置,其中,所述指标数据述至少包括实例稳定性指标数据和应用稳定性指标数据;以及所述预设的熔断条件为:所述实例稳定性指标数据处于第一数值区间;和/或所述应用稳定性指标数据处于第二数值区间。9.根据权利要求8所述的装置,其中,所述实例信息确定单元进一步被配置成:获取预设时长的滑动窗口中各个时间点对应的所述实例稳定性指标数据和所述应用稳定性指标数据;基于各个时间点对应的所述实例稳定性指标数据和所述应用稳定性指标数据,确定实例稳定性指标数据平均值和应用稳定性指标数据平均值;响应于确定所述实例稳定性指标数据处于所述第一数值区间,确定所述实例稳定性指标数据处于所述第一数值区间的第一次数;响应于确定所述应用稳定性指标数据处于所述第二数值区间,确定所述应用稳定性指标数据处于所述第二数值区间的第二次数;响应于确定所述第一次数大于预设的第一次数阈值、所述第二次数大于预设的第二次数阈值、所述实例稳定性指标数据平均值大于第一平均值阈值和/或所述应用稳定性指标数据平均值大于第二平均值阈值,确定所述指标数据满足所述预设的熔断条件。10.根据权利要求6所述的装置,其中,所述实例信息确定单元进一步被配置成:响应于确定所述指标数据满足所述预设的熔断条件,确定压力测试结束,基于上一时间周期的指标数据,确定所述压力测试结果。11.一种执行用于确定极限状态信息的方法的电子设备,包括:至少一个计算单元;以及与所述至少一个计算单元通信连接的存储单元;其中,所述存储单元存储有可被所述至少一个计算单元执行的指令,所述指令被所述至少一个计算单元执行,以使所述至少一个计算单元能够执行权利要求1-5中任一项所述的方法。12.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-5中任一项所述的方法。

技术总结


本申请公开了用于确定极限状态信息的方法、装置、设备、介质和产品,涉及计算机领域,进一步涉及软件测试技术领域。具体实现方案为:获取各个应用的样本实例集合;对于每个样本实例集合中的每个样本实例,执行以下压力测试步骤:在单个时间周期内,向该样本实例转发初始数值的线上流量;确定该样本实例在单个时间周期内的指标数据;响应于确定指标数据满足预设的熔断条件,确定压力测试结束,得到压力测试结果;基于压力测试结果,确定该样本实例的极限状态信息;基于各个样本实例的极限状态信息,确定各个样本实例集合对应的极限状态信息。本实现方式可以提高极限状态信息的确定精准度。准度。准度。


技术研发人员:

高腾飞 罗晓鸣 郑智斌 李雅敬 潘振华

受保护的技术使用者:

百度在线网络技术(北京)有限公司

技术研发日:

2021.04.13

技术公布日:

2022/11/22

本文发布于:2024-09-22 08:23:49,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/19468.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:实例   样本   数据   指标
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议