一种性能扩容预测方法、装置、计算设备及存储介质与流程

文档序号:19250124发布日期:2019-11-27 20:06阅读:368来源:国知局
一种性能扩容预测方法、装置、计算设备及存储介质与流程

本申请涉及计算机技术领域,特别涉及一种性能扩容预测方法、装置、计算设备及存储介质。



背景技术:

性能扩容预测,是指在业务量出现猛增之前,根据业务需要预测应用需要扩容的机器数。目前,主要是在历史数据基础上,根据业务目标等比估算应用所需机器数。

但是,由于每条链路有不同的瓶颈应用,根据业务目标等比扩大链路机器数容易造成机器浪费,因此,这种方式只适合单业务链路上对业务瓶颈应用机器数进行预测,不适合多业务混合场景。



技术实现要素:

有鉴于此,本申请实施例提供了一种性能扩容预测方法、装置、计算设备及存储介质,以解决现有技术中存在的技术缺陷。

根据本申请实施例的第一方面,提供了一种性能扩容预测方法,包括:获取多个应用在多个业务上并发的情况下每个应用分别在各个业务上的性能基线量、每个应用在单机上可消耗的计算资源上限、及每个业务的业务目标量,其中,所述性能基线量为增长单位业务量的情况下链路中应用集群所消耗的计算资源;将所述每个应用分别在各个业务上的性能基线量、每个应用在单机上可消耗的计算资源上限及每个业务的业务目标量输入性能扩容公式组,其中,所述性能扩容公式组包括由所述多个应用分别确定的公式,其中,针对每个应用,所述应用所确定的公式包括:在所述多个业务达到业务目标量且所述应用按照其性能基线量进行计算资源消耗的情况下,所述应用在所述多个业务上分别消耗的计算资源按业务所需机器数均摊得到的单机计算资源之和小于或等于所述应用在单机上可消耗的计算资源上限;利用所述性能扩容公式组,计算出每个应用分别在各个业务上所需要的机器数。

可选地,所述方法还包括:获取每个应用在业务低峰期所消耗的计算资源;将所述每个应用在业务低峰期所消耗的计算资源输入所述性能扩容公式组;其中,所述应用所确定的公式包括:在所述多个业务达到业务目标量且所述应用按照其性能基线量进行计算资源消耗的情况下,所述应用在业务低峰期所消耗的计算资源与所述应用在所述多个业务上分别消耗的单机计算资源之和小于或等于所述应用在单机上可消耗的计算资源上限。

可选地,所述方法还包括:获取每个应用在单机上可消耗的计算资源下限;将所述每个应用在单机上可消耗的计算资源下限输入所述性能扩容公式组;其中,所述应用所确定的公式包括:在所述多个业务达到业务目标量且所述应用按照其性能基线量进行计算资源消耗的情况下,所述应用在所述多个业务上分别消耗的计算资源按业务所需机器数均摊得到的单机计算资源之和小于或等于所述应用在单机上可消耗的计算资源上限,且大于或等于应用在单机上可消耗的计算资源下限。

可选地,所述每个应用分别在各个业务上所需要的机器数为多组解,所述方法还包括:根据预设筛选条件对所述多组解进行筛选。

可选地,所述预设筛选条件包括以下筛选条件一和/或筛选条件二:筛选条件一包括:从所述多组解中,取机器数之和最小的一组解;筛选条件二包括:从所述多组解中,取应用在业务上所需要的机器数大于或等于该应用为支持该业务所需机器数下限的一组解。

可选地,所述计算资源包括:从cpu角度衡量的计算资源,或者,从系统负载角度衡量的计算资源,或者,从线程等待数衡量的计算资源。

根据本申请实施例的第二方面,提供了一种性能扩容预测装置,包括:获取模块,被配置为获取多个应用在多个业务上并发的情况下每个应用分别在各个业务上的性能基线量、每个应用在单机上可消耗的计算资源上限、及每个业务的业务目标量,其中,所述性能基线量为增长单位业务量的情况下链路中应用集群所消耗的计算资源。输入模块,被配置为将所述每个应用分别在各个业务上的性能基线量、每个应用在单机上可消耗的计算资源上限及每个业务的业务目标量输入性能扩容公式组,其中,所述性能扩容公式组包括由所述多个应用分别确定的公式,其中,针对每个应用,所述应用所确定的公式包括:在所述多个业务达到业务目标量且所述应用按照其性能基线量进行计算资源消耗的情况下,所述应用在所述多个业务上分别消耗的计算资源按业务所需机器数均摊得到的单机计算资源之和小于或等于所述应用在单机上可消耗的计算资源上限。计算模块,被配置为利用所述性能扩容公式组,计算出每个应用分别在各个业务上所需要的机器数。

可选地,所述获取模块,还被配置为获取每个应用在业务低峰期所消耗的计算资源。所述输入模块,还被配置为将所述每个应用在业务低峰期所消耗的计算资源输入所述性能扩容公式组。其中,所述应用所确定的公式包括:在所述多个业务达到业务目标量且所述应用按照其性能基线量进行计算资源消耗的情况下,所述应用在业务低峰期所消耗的计算资源与所述应用在所述多个业务上分别消耗的单机计算资源之和小于或等于所述应用在单机上可消耗的计算资源上限。

可选地,,所述获取模块,还被配置为获取每个应用在单机上可消耗的计算资源下限。所述输入模块,还被配置为将所述每个应用在单机上可消耗的计算资源下限输入所述性能扩容公式组。其中,所述应用所确定的公式包括:在所述多个业务达到业务目标量且所述应用按照其性能基线量进行计算资源消耗的情况下,所述应用在所述多个业务上分别消耗的计算资源按业务所需机器数均摊得到的单机计算资源之和小于或等于所述应用在单机上可消耗的计算资源上限,且大于或等于应用在单机上可消耗的计算资源下限。

可选地,所述每个应用分别在各个业务上所需要的机器数为多组解,所述装置还包括:筛选模块,被配置为根据预设筛选条件对所述多组解进行筛选。

可选地,所述预设筛选条件包括以下筛选条件一和/或筛选条件二:筛选条件一包括:从所述多组解中,取机器数之和最小的一组解;筛选条件二包括:从所述多组解中,取应用在业务上所需要的机器数大于或等于该应用为支持该业务所需机器数下限的一组解。

可选地,所述计算资源包括:从cpu角度衡量的计算资源,或者,从系统负载角度衡量的计算资源,或者,从线程等待数衡量的计算资源。

根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述性能扩容预测方法的步骤。

根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述性能扩容预测方法的步骤。

本申请实施例中,根据多个业务链路混合场景的不同应用在单机上可消耗的计算资源需求不同,构造出了以每个应用分别在各个业务上的性能基线量、每个应用在单机上可消耗的计算资源上限及每个业务的业务目标量作为已知输入数据,每个应用分别在各个业务上所需要的机器数为未知数的性能扩容公式组,在该性能扩容公式组中包括由所述多个应用分别确定的公式,每个应用确定的公式包括:在多个业务达到业务目标量且该应用按照其性能基线量进行计算资源消耗的情况下,该应用在多个业务上分别消耗的计算资源,按业务所需机器数均摊得到的单机计算资源之和小于或等于该应用在单机上可消耗的计算资源上限。从而,在获取多个应用在多个业务上并发的情况下每个应用分别在各个业务上的性能基线量、每个应用在单机上可消耗的计算资源上限、及每个业务的业务目标量之后,将这些历史已知量作为性能扩容公式组的输入,可以计算出每个应用分别在各个业务上所需要的机器数,实现了预测出多个业务链路混合场景下进行性能扩容时应用所需机器数的目的。

附图说明

图1是本申请实施例提供的计算设备的结构框图;

图2是本申请实施例提供的一种性能扩容预测方法的流程图;

图3是本申请实施例提供的一种性能扩容预测装置的框图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。

在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

首先,对本申请一个或多个实施例涉及的名词术语进行解释。

性能基线量:增长单位业务量的情况下链路中应用集群所消耗的计算资源。其中,单位业务量根据实施需要确定。例如,假设集群有50台机器,对于应用a,应用a在业务r上业务量每增加500qps,单机cpu上涨10%,则应用a在业务r上应用集群所消耗的计算资源,也即性能基线量为50×10%。

业务目标量:业务所能达到的最高业务量。

计算资源:应用在业务链路上消耗的计算资源,例如,cpu资源等。

在本申请中,提供了一种性能扩容预测方法、装置、计算设备及存储介质,在下面的实施例中逐一进行详细说明。

图1示出了根据本申请一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。

计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。

在本申请的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。

计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备100还可以是移动式或静止式的服务器。

其中,处理器120可以执行图2所示性能扩容预测方法中的步骤。图2示出了根据本申请一实施例的性能扩容预测方法的流程图,包括步骤202至步骤206。

步骤202:获取多个应用在多个业务上并发的情况下每个应用分别在各个业务上的性能基线量、每个应用在单机上可消耗的计算资源上限、及每个业务的业务目标量。

其中,所述性能基线量为增长单位业务量的情况下链路中应用集群所消耗的计算资源。其中,单位业务量、性能基线量可根据历史监测经验设置,一般考虑业务所处量级来定,假设业务的目标业务量大,10000qbs,单位业务量可以设置为500qbs,如目标业务量为1000qps,单位业务量可以设置为50qbs,等等。每个应用在单机上可消耗的计算资源上限可根据历史单机安全水位确定。

以从cpu角度衡量计算资源的场景为例,假设应用a、应用b及应用c在业务r和业务s上并发,应用a、b、c集群数量均为50台,定义如下:

业务r、s调用链路为a->b->c。业务r业务目标量为rgoal,业务s的业务目标量为sgoal。单位业务量为500qps,应用a在业务r上的性能基线量为ar-cpu,应用b在业务r上的性能基线量为br-cpu,应用c在业务r上的性能基线量为cr-cpu,同理,应用a、b、c在业务s上的性能基线量分别为as-cpu、bs-cpu、cs-cpu。应用a、b、c在单机上可消耗的计算资源上限分别为acpu-top,bcpu-top,ccpu-top。以上定义的量为已知量。另外,定义为达成rgoal,应用a、b、c需要机器数分别为ra-qty、rb-qty、rc-qty。为达成sgoal,应用a、b、c需要机器数分别为sa-qty、sb-qty、sc-qty。这些待预测的机器数为未知量。

根据以上定义,假设所获取的已知量包括:rgoal=10000qbs,sgoal=5000qbs,ar-cpu=50×10%,as-cpu=50×10%,br-cpu=50×15%,bs-cpu=50×5%,cr-cpu=50×10%,cs-cpu=50×5%,acpu-top=75%,bcpu-top=75%,ccpu-top=65%。

步骤204:将所述每个应用分别在各个业务上的性能基线量、每个应用在单机上可消耗的计算资源上限及每个业务的业务目标量输入性能扩容公式组。

其中,所述性能扩容公式组包括由所述多个应用分别确定的公式,其中,针对每个应用,所述应用所确定的公式包括:在所述多个业务达到业务目标量且所述应用按照其性能基线量进行计算资源消耗的情况下,所述应用在所述多个业务上分别消耗的计算资源按业务所需机器数均摊得到的单机计算资源之和小于或等于所述应用在单机上可消耗的计算资源上限。

以单个业务来说,应用在该单个业务上消耗的单机计算资源等于该单个业务的业务目标量除以单位业务量之商再乘以该应用在该单个业务上的性能基线量之积再除以该应用在该单个业务上所需要的机器数。

例如,结合上述对应用a、b、c的定义,所述性能扩容公式组可以包括以下应用a、b、c分别确定的公式:

本申请一实施例中,考虑到应用在业务低峰期如没有业务量时,应用自身运行也会消耗一部分计算资源,因此,为了使得预测更加准确,本申请实施例提供的方法还可以获取每个应用在业务低峰期所消耗的计算资源,将每个应用在业务低峰期所消耗的计算资源输入到性能扩容公式组中。具体地,在性能扩容公式组中,每个应用分别确定的公式包括:在所述多个业务达到业务目标量且所述应用按照其性能基线量进行计算资源消耗的情况下,所述应用在业务低峰期所消耗的计算资源与所述应用在所述多个业务上分别消耗的单机计算资源之和小于或等于所述应用在单机上可消耗的计算资源上限。

例如,结合上述对应用a、b、c的定义,假设应用a、b、c在业务低峰期所消耗的计算资源分别为acpu-quiet、bcpu-quiet、ccpu-quiet,所述性能扩容公式组包括以下应用a、b、c分别确定的公式:

本申请一实施例中,为了保证系统利用率,又将应用在单机上可消耗的计算资源下限加入到性能扩容公式组中,一方面可以保证系统利用率,另一方面可以去掉一部分不可用解。具体地,本申请实施例提供的方法还可以获取每个应用在单机上可消耗的计算资源下限,将所述每个应用在单机上可消耗的计算资源下限输入到所述性能扩容公式组。所述应用所确定的公式包括:在所述多个业务达到业务目标量且所述应用按照其性能基线量进行计算资源消耗的情况下,所述应用在所述多个业务上分别消耗的计算资源按业务所需机器数均摊得到的单机计算资源之和小于或等于所述应用在单机上可消耗的计算资源上限,且大于或等于应用在单机上可消耗的计算资源下限。

例如,结合上述对应用a、b、c的定义,假设应用a、b、c在单机上可消耗的计算资源下限均为55%,应用a、b、c在业务低峰期所消耗的计算资源忽略不计的情况下,所述性能扩容公式组可以包括以下应用a、b、c分别确定的公式:

再例如,结合上述对应用a、b、c的定义,假设应用a、b、c在单机上可消耗的计算资源下限均为55%,应用a、b、c在业务低峰期所消耗的计算资源考虑在内的情况下,所述性能扩容公式组包括以下应用a、b、c分别确定的公式:

以上述公式为例,将所获取的已知量rgoal=10000qbs,sgoal=5000qbs,ar-cpu=50×10%,as-cpu=50×10%,br-cpu=50×15%,bs-cpu=50×5%,cr-cpu=50×10%,cs-cpu=50×5%,acpu-top=75%,bcpu-top=75%,ccpu-top=65%,acpu-quiet=5%,bcpu-quiet=5%,ccpu-quiet=5%输入到性能扩容公式组,并且以x1、x2、x3、x4、x5、x6六个变量分别表示则得到以下性能扩容公式组:

100x1+50x2≤0.7

100x1+50x2>0.5

150x3+25x4≤0.7

150x3+25x4.>0.5

100x5+25x6≤0.6

100x5+25x6>0.5

步骤206:利用所述性能扩容公式组,计算出每个应用在每个业务上所需要的机器数。

例如,以上述包含x1、x2、x3、x4、x5、x6六个变量的性能扩容公式组为例,整理不等式则得到:

0.01<2x1+x2≤0.014

0.01<6x3+x4≤0.028

0.02<4x5+x6≤0.024

当应用数较多时,也可以利用矩阵求解,例如:

对该不等式组进行求解,可以得到其中一组解x1=0.007,x2=0.007,x3=0.004,x4=0.004,x5=0.005,x6=0.004。因此,应用a所需机器数为286台,应用b所需机器数为500台,应用c所需机器数为450台。

可见,对于应用a,集群50台应用业务量每增加500qps,单机cpu上涨10%,为支持业务r与s总qps约为1.5wqps,若仅仅用50台应用支持,理论单机cpu会达到300%左右,扩容至286台后,机器增加5.72倍,支持业务r与s达到目标后预期集群cpu在60%左右。

需要说明的是,利用性能扩容公式组求解,每个应用分别在各个业务上所需要的机器数可以为多组解,本申请实施例提供的方法还可以根据预设筛选条件对所述多组解进行筛选。其中,所述预设筛选条件不限,具体可以根据实施环境需要,或者根据历史经验进行设置。例如,所述预设筛选条件可以包括以下筛选条件一和/或筛选条件二:

筛选条件一包括:从所述多组解中,取机器数之和最小的一组解。

筛选条件二包括:从所述多组解中,取应用在业务上所需要的机器数大于或等于该应用为支持该业务所需机器数下限的一组解,例如,为支持业务r,应用a至少需要50台,则有限制条件r_(a-qty)>50。

需要说明的是,本申请实施例对计算资源衡量的角度不限。例如,所述计算资源可以包括:从cpu角度衡量的计算资源,或者,从系统负载角度衡量的计算资源,或者,从线程等待数衡量的计算资源。

从系统负载角度衡量计算资源与从cpu角度衡量计算资源的预测方法是一致的。例如,业务r、s调用链路为a->b->c。业务r业务目标量为rgoal,业务s的业务目标量为sgoal。单位业务量为500qps,应用a在业务r上的性能基线量为ar-load,应用b在业务r上的性能基线量为br-load,应用c在业务r上的性能基线量为cr-laod,同理,应用a、b、c在业务s上的性能基线量分别为as-load、bs-load、cs-load。应用a、b、c在单机上可消耗的计算资源上限分别为aload-top,bload-top,claad-top。为达成rgoal,应用a、b、c需要机器数分别为ra-qty、rb-qty、rc-qty。为达成sgoal,应用a、b、c需要机器数分别为sa-qty、sb-qty、sc-qty。假设所获取的已知量包括:rgoal=10000qbs,sgoal=5000qbs,ar-load=50×1,br-load=50×0.5,cr-load=50×0.3,as-load=50×0.5,bs-load=50×0.6%,cs-load=50×0.2,aload-top=8,bload-top=8,cload-top=8。将所获取的已知量代入例如以下性能扩容公式组就可以求得每个应用分别在各个业务上所需要的机器数:

求解方法与上述cpu角度衡量计算资源的求解方法示例类似,在此不再详细赘述。

可见,由于本申请实施例根据多个业务链路混合场景的不同应用在单机上可消耗的计算资源需求不同,构造出了以每个应用分别在各个业务上的性能基线量、每个应用在单机上可消耗的计算资源上限及每个业务的业务目标量作为已知输入数据,每个应用分别在各个业务上所需要的机器数为未知数的性能扩容公式组,在该性能扩容公式组中包括由所述多个应用分别确定的公式,每个应用确定的公式包括:在多个业务达到业务目标量且该应用按照其性能基线量进行计算资源消耗的情况下,该应用在多个业务上分别消耗的计算资源,按业务所需机器数均摊得到的单机计算资源之和小于或等于该应用在单机上可消耗的计算资源上限。从而,在获取多个应用在多个业务上并发的情况下每个应用分别在各个业务上的性能基线量、每个应用在单机上可消耗的计算资源上限、及每个业务的业务目标量之后,将这些历史已知量作为性能扩容公式组的输入,可以计算出每个应用分别在各个业务上所需要的机器数,实现了预测出多个业务链路混合场景下进行性能扩容时应用所需机器数的目的。

与上述方法实施例相对应,本申请还提供了一种性能扩容预测装置实施例,图3示出了本申请一个实施例的一种性能扩容预测装置的结构示意图。如图3所示,该装置包括:获取模块310、输入模块320及计算模块330。

该获取模块310,可以被配置为获取多个应用在多个业务上并发的情况下每个应用分别在各个业务上的性能基线量、每个应用在单机上可消耗的计算资源上限、及每个业务的业务目标量,其中,所述性能基线量为增长单位业务量的情况下链路中应用集群所消耗的计算资源。

该输入模块320,可以被配置为将所述每个应用分别在各个业务上的性能基线量、每个应用在单机上可消耗的计算资源上限及每个业务的业务目标量输入性能扩容公式组,其中,所述性能扩容公式组包括由所述多个应用分别确定的公式,其中,针对每个应用,所述应用所确定的公式包括:在所述多个业务达到业务目标量且所述应用按照其性能基线量进行计算资源消耗的情况下,所述应用在所述多个业务上分别消耗的计算资源按业务所需机器数均摊得到的单机计算资源之和小于或等于所述应用在单机上可消耗的计算资源上限。

该计算模块330,可以被配置为利用所述性能扩容公式组,计算出每个应用分别在各个业务上所需要的机器数。

可见,由于本申请实施例根据多个业务链路混合场景的不同应用在单机上可消耗的计算资源需求不同,构造出了以每个应用分别在各个业务上的性能基线量、每个应用在单机上可消耗的计算资源上限及每个业务的业务目标量作为已知输入数据,每个应用分别在各个业务上所需要的机器数为未知数的性能扩容公式组,在该性能扩容公式组中包括由所述多个应用分别确定的公式,每个应用确定的公式包括:在多个业务达到业务目标量且该应用按照其性能基线量进行计算资源消耗的情况下,该应用在多个业务上分别消耗的计算资源,按业务所需机器数均摊得到的单机计算资源之和小于或等于该应用在单机上可消耗的计算资源上限。从而,在获取多个应用在多个业务上并发的情况下每个应用分别在各个业务上的性能基线量、每个应用在单机上可消耗的计算资源上限、及每个业务的业务目标量之后,将这些历史已知量作为性能扩容公式组的输入,可以计算出每个应用分别在各个业务上所需要的机器数,实现了预测出多个业务链路混合场景下进行性能扩容时应用所需机器数的目的。

本申请一实施例中,考虑到应用在业务低峰期如没有业务量时,应用自身运行也会消耗一部分计算资源,因此,为了使得预测更加准确,本申请实施例提供的装置的获取模块310还可以被配置为获取每个应用在业务低峰期所消耗的计算资源。所述输入模块320,还可以被配置为将所述每个应用在单机上可消耗的计算资源下限输入所述性能扩容公式组。其中,所述应用所确定的公式包括:在所述多个业务达到业务目标量且所述应用按照其性能基线量进行计算资源消耗的情况下,所述应用在业务低峰期所消耗的计算资源与所述应用在所述多个业务上分别消耗的单机计算资源之和小于或等于所述应用在单机上可消耗的计算资源上限。

本申请又一实施例中,为了保证系统利用率,又将应用在单机上可消耗的计算资源下限加入到性能扩容公式组中,一方面可以保证系统利用率,另一方面可以去掉一部分不可用解。具体地,本申请实施例提供的装置的所述获取模块310,还可以被配置为获取每个应用在单机上可消耗的计算资源下限。所述输入模块320,还可以被配置为将所述每个应用在单机上可消耗的计算资源下限输入到所述性能扩容公式组。其中,所述应用所确定的公式包括:在所述多个业务达到业务目标量且所述应用按照其性能基线量进行计算资源消耗的情况下,所述应用在所述多个业务上分别消耗的计算资源按业务所需机器数均摊得到的单机计算资源之和小于或等于所述应用在单机上可消耗的计算资源上限,且大于或等于应用在单机上可消耗的计算资源下限。

需要说明的是,利用性能扩容公式组求解,每个应用分别在各个业务上所需要的机器数可以为多组解,本申请实施例提供的装置还可以根据预设筛选条件对所述多组解进行筛选。具体地,所述装置还可以包括:筛选模块340,可以被配置为根据预设筛选条件对所述多组解进行筛选。

例如,所述预设筛选条件包括以下筛选条件一和/或筛选条件二:

筛选条件一包括:从所述多组解中,取机器数之和最小的一组解;

筛选条件二包括:从所述多组解中,取应用在业务上所需要的机器数大于或等于该应用为支持该业务所需机器数下限的一组解。

需要说明的是,本申请实施例对计算资源衡量的角度不限。例如,所述计算资源可以包括:从cpu角度衡量的计算资源,或者,从系统负载角度衡量的计算资源,或者,从线程等待数衡量的计算资源。

本申请一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述的性能扩容预测方法的步骤。

本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述性能扩容预测方法的步骤。

上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的性能扩容预测方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述性能扩容预测方法的技术方案的描述。

上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1