CN114356577A - 一种系统容量预估方法以及装置 - Google Patents
一种系统容量预估方法以及装置 Download PDFInfo
- Publication number
- CN114356577A CN114356577A CN202210019190.6A CN202210019190A CN114356577A CN 114356577 A CN114356577 A CN 114356577A CN 202210019190 A CN202210019190 A CN 202210019190A CN 114356577 A CN114356577 A CN 114356577A
- Authority
- CN
- China
- Prior art keywords
- application
- target
- index data
- peak value
- historical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种系统容量预估方法以及装置,该方法包括:在获取目标集群的应用实例的历史运行指标数据和历史应用指标数据之后,获得应用实例的运行指标数据与应用指标数据之间的对应关系,基于该对应关系,获得目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值,并根据该单位应用指标峰值和目标集群在目标时间对应的预估流量数据,获得目标集群在目标时间对应的目标实例副本数量。由于该过程无需借助人工获取压测数据,简化了容量评估流程,降低容量评估过程的复杂度,提升容量评估效率;并且该方法可提升容量评估的准确性。
Description
技术领域
本申请涉及云计算领域,具体涉及一种系统容量预估方法。本申请同时涉及一种系统容量预估装置、一种电子设备以及一种计算机可读取存储介质。
背景技术
互联网行业在流量高峰或促销活动前,需要针对服务进行流量预估,结合服务压测数据输出系统容量评估结果,最终根据评估结果扩容宿主机和应用实例。但受时间和人力限制,无法对每个服务进行压测;不同版本的服务压测数据可能有较大误差;流量的预估可能和实际流量有较大误差,导致宿主机、应用实例资源浪费或资源不足。因此在保障服务稳定的前提下,如何提高系统容量评估的准确性和降低容量评估过程的复杂度是需要解决的问题。
发明内容
本申请实施例提供一种系统容量预估方法、装置、电子设备及计算机可读存储介质,以解决现有技术中的容量评估过程复杂度较高以及容量评估结果准确性得不到保障的问题。
本申请实施例提供一种系统容量预估方法,该方法包括:
获取目标集群的应用实例的历史运行指标数据,以及获取与所述历史运行指标数据相对应的历史应用指标数据;
根据所述历史运行指标数据和所述历史应用指标数据,获得应用实例的运行指标数据与应用指标数据之间的对应关系;
基于所述对应关系,获得所述目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值;
根据所述单位应用指标峰值和所述目标集群在目标时间对应的预估流量数据,获得所述目标集群在所述目标时间对应的目标实例副本数量。
可选的,所述根据所述历史运行指标数据和所述历史应用指标数据,获得应用实例的运行指标数据与应用指标数据之间的对应关系,包括:
对所述历史运行指标数据和所述历史应用指标数据之间的关系进行建模,获得用于表征应用实例的运行指标数据与应用指标数据之间的关系的线性回归模型;
对应的,所述基于所述对应关系,获得所述目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值,包括:
获得所述目标集群中单一应用实例的预设运行指标峰值;
采用所述预设运行指标峰值和所述线性回归模型,预测获得与所述预设运行指标峰值相对应的单位应用指标峰值。
可选的,所述方法还包括:基于所述目标实例副本数量对所述目标集群的应用实例进行弹性伸缩处理。
可选的,所述方法还包括:基于所述目标集群的历史流量数据,预估获得所述目标集群在目标时间对应的所述预估流量数据。
可选的,所述根据所述单位应用指标峰值和所述预估流量数据,获得所述目标集群在所述目标时间对应的目标实例副本数量,包括:将所述预估流量数据与所述单位应用指标峰值的比值确定为所述目标实例副本数量。
可选的,所述方法还包括:基于所述目标集群的历史运营数据获得所述目标集群对应的容量冗余因子,所述容量冗余因子用于表征所述目标集群的可扩展服务上限;
所述根据所述单位应用指标峰值和所述预估流量数据,获得所述目标集群在所述目标时间对应的目标应用实例副本数量,包括:获得所述预估流量数据与所述单位应用指标峰值的比值,将所述比值乘以所述容量冗余因子,获得所述目标集群在所述目标时间所需的目标实例副本数量。
可选的,所述获取目标集群的应用实例的历史运行指标数据,包括:从时序数据库中,获取所述目标集群所运行的多个应用实例、在历史时间段内的多个预设时间点的运行指标数据;
所述获取与所述历史运行指标数据相对应的历史应用指标数据,包括:从所述时序数据库中获得与所述运行指标数据相对应的应用指标数据,所述历史时间段为距当前时间点相近的预定时间段。
可选的,所述方法还包括:
对所述多个应用实例的运行状况和其对应的应用状况进行监测,并按所述预设时间点将监测到的运行指标数据和其对应的应用指标数据关联存储至所述时序数据库中。
可选的,所述历史运行指标数据包括:所述目标集群所运行的多个应用实例、在历史时间段内的多个预设时间点的CPU使用率,所述历史时间段为距当前时间点相近的预定时间段;
所述历史应用指标数据包括:所述多个应用实例对应于所述CPU使用率的多个流量数据;
所述预设运行指标峰值包括:针对所述目标集群中单个应用实例所预设的CPU使用率的峰值;
所述预设运行指标峰值对应的单位应用指标峰值包括:在所述单个应用实例的CPU使用率达到峰值时、所述单个应用实例对应的流量数据。
本申请实施例还提供一种系统容量预估装置,该装置包括:
指标数据获取单元,用于获取目标集群的应用实例的历史运行指标数据,以及获取与所述历史运行指标数据相对应的历史应用指标数据;
对应关系获得单元,用于根据所述历史运行指标数据和所述历史应用指标数据,获得应用实例的运行指标数据与应用指标数据之间的对应关系;
单位应用指标峰值获得单元,用于基于所述对应关系,获得所述目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值;
实例副本数量获得单元,用于根据所述单位应用指标峰值和所述目标集群在目标时间对应的预估流量数据,获得所述目标集群在所述目标时间对应的目标实例副本数量。
可选的,所述根据所述历史运行指标数据和所述历史应用指标数据,获得应用实例的运行指标数据与应用指标数据之间的对应关系,包括:
对所述历史运行指标数据和所述历史应用指标数据之间的关系进行建模,获得用于表征应用实例的运行指标数据与应用指标数据之间的关系的线性回归模型;
对应的,所述基于所述对应关系,获得所述目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值,包括:
获得所述目标集群中单一应用实例的预设运行指标峰值;
采用所述预设运行指标峰值和所述线性回归模型,预测获得与所述预设运行指标峰值相对应的单位应用指标峰值。
可选的,所述装置还包括:弹性伸缩处理单元,用于基于所述目标实例副本数量对所述目标集群的应用实例进行弹性伸缩处理。
可选的,所述装置还包括:预估流量数据获得单元,用于基于所述目标集群的历史流量数据,预估获得所述目标集群在目标时间对应的所述预估流量数据。
可选的,所述根据所述单位应用指标峰值和所述预估流量数据,获得所述目标集群在所述目标时间对应的目标实例副本数量,包括:将所述预估流量数据与所述单位应用指标峰值的比值确定为所述目标实例副本数量。
可选的,上述装置还包括:容量冗余因子获得单元,用于基于所述目标集群的历史运营数据获得所述目标集群对应的容量冗余因子,所述容量冗余因子用于表征所述目标集群的可扩展服务上限;
所述根据所述单位应用指标峰值和所述预估流量数据,获得所述目标集群在所述目标时间对应的目标应用实例副本数量,包括:获得所述预估流量数据与所述单位应用指标峰值的比值,将所述比值乘以所述容量冗余因子,获得所述目标集群在所述目标时间所需的目标实例副本数量。
可选的,所述获取目标集群的应用实例的历史运行指标数据,包括:从时序数据库中,获取所述目标集群所运行的多个应用实例、在历史时间段内的多个预设时间点的运行指标数据;
所述获取与所述历史运行指标数据相对应的历史应用指标数据,包括:从所述时序数据库中获得与所述运行指标数据相对应的应用指标数据,所述历史时间段为距当前时间点相近的预定时间段。
可选的,所述装置还包括:指标数据存储单元,用于对所述多个应用实例的运行状况和其对应的应用状况进行监测,并按所述预设时间点将监测到的运行指标数据和其对应的应用指标数据关联存储至所述时序数据库中。
可选的,所述历史运行指标数据包括:所述目标集群所运行的多个应用实例、在历史时间段内的多个预设时间点的CPU使用率,所述历史时间段为距当前时间点相近的预定时间段;
所述历史应用指标数据包括:所述多个应用实例对应于所述CPU使用率的多个流量数据;
所述预设运行指标峰值包括:针对所述目标集群中单个应用实例所预设的CPU使用率的峰值;
所述预设运行指标峰值对应的单位应用指标峰值包括:在所述单个应用实例的CPU使用率达到峰值时、所述单个应用实例对应的流量数据。
本申请实施例还提供一种电子设备,包括处理器和存储器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行,以实现上述系统容量预估方法。
本申请实施例还提供一种计算机可读存储介质,其上存储有一条或多条计算机指令,该指令被处理器执行以实现上述系统容量预估方法。
与现有技术相比,本申请实施例具有以下优点:
本申请实施例提供的系统容量预估方法,在获取目标集群的应用实例的历史运行指标数据和历史应用指标数据之后,获得应用实例的运行指标数据与应用指标数据之间的对应关系,基于该对应关系,获得目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值,并根据该单位应用指标峰值和目标集群在目标时间对应的预估流量数据,获得目标集群在目标时间对应的目标实例副本数量。由于该过程无需借助人工获取压测数据,简化了容量评估流程,降低容量评估过程的复杂度,提升容量评估效率;并且该方法基于真实的历史运行指标数据和历史应用指标数据,所获得的是应用实例的运行指标数据与应用指标数据之间的精准的对应关系,后续可借助该对应关系获得应用实例的预设运行指标峰值对应的精准的单位应用指标峰值,基于目标集群在目标时间对应的预估流量数据和该单位应用指标峰值,可求得目标集群在目标时间对应的目标实例副本数量,可提升容量评估的准确性。
附图说明
图1是本申请第一实施例提供的系统容量预估方法流程图;
图1-A是本申请第一实施例提供的获取历史运行指标数据和历史应用指标数据的示意图;
图1-B是本申请第一实施例提供的CPU使用率与QPS之间的对应关系的示意图;
图2是本申请第四实施例提供的系统容量预估装置的单元框图;
图3是本申请第五实施例提供的电子设备的逻辑结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
现有的针对服务进行流量预估、并结合服务压测数据输出系统容量评估结果的典型场景中,测试人员对系统进行服务压测,得到压测数据,再由运营人员预计流量高峰或促销活动的流量,运维人员根据压测数据和预计的流量进行容量评估,并基于容量评估结果购买宿主机、增加应用实例数量。上述测试人员获得服务压测数据的方式一般为:首先设置测试应用实例的CPU配置和内存配置,并部署服务,然后通过压测工具模拟用户并发数和请求数,以得到服务的QPS(Queries Per Second,每秒查询率)峰值。通过对压测数据和预估流量的计算,得到需要扩容的宿主机、应用实例数量,然后进行提前购买、部署。
然而,上述方式存在以下缺陷:
现有的压测流程对于人工严重依赖,在海量服务类别的情况下,将无法覆盖所有需要压测的服务;服务每次构建后的性能指标可能不同,在服务版本频繁迭代的情况下,压测数据容易滞后、失真,导致容量评估结果不准确。最后,在生产环境与测试环境中,应用实例的CPU和内存配置不同,会导致压测数据不准确,进而导致容量评估结果不准确。在该情况下,在宿主机扩容后,如果预计流量小于实际流量,会导致宿主机资源浪费,如果预计流量大于实际流量,则会影响服务稳定性。
因此,本申请旨在保证系统容量评估准确性的前提下,兼顾系统稳定性和宿主机、应用实例的低成本支出。
针对云计算的容量评估场景,为了解决系统容量评估时可能出现的因系统容量评估精度不足而导致实例数不足或过量、宿主机成本过高或宿主机部署不足而影响服务稳定性的问题,本申请提供了一种系统容量预估方法、与该方法相对应的系统容量预估装置、电子设备以及计算机可读存储介质。以下提供实施例对上述方法、装置、电子设备以及计算机可读存储介质进行详细说明。
本申请第一实施例提供一种系统容量预估方法,该方法的应用主体可以为用于对系统容量进行精准预估的计算设备应用,该计算设备应用可运行于Kubemetes集群、DockerSwarm、DCOS等容器编排平台。本申请实施例重点以Kubernetes为例进行说明,Kubernetes用于管理云平台中多个主机上的容器化的应用,使得部署容器化的应用简单并且高效,其支持自动化部署、大规模可伸缩、应用容器化管理,即,Kubernetes通过部署容器方式实现应用部署,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦,所以它能在不同云、不同版本的操作系统问进行迁移。容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系。Kubernetes集群实质为一组节点(宿主机),这些节点可以是物理服务器或者虚拟机,其上安装了Kubernetes容器编排平台。
图1为本申请第一实施例提供的系统容量预估方法的流程图,以下结合图1对本实施例提供的系统容量预估方法进行详细描述。以下描述所涉及的实施例是用来解释说明方法原理,不是实际使用的限定。
如图1所示,本实施例提供的系统容量预估方法包括如下步骤:
S101,获取目标集群的应用实例的历史运行指标数据,以及获取与所述历史运行指标数据相对应的历史应用指标数据。
本步骤用于获取目标集群的应用实例的历史运行指标数据,以及获取与所述历史运行指标数据相对应的历史应用指标数据,目标集群即为集群化部署的服务系统,目标集群的应用实例为运行在该服务系统的一组共享存储空间和运行选项的容器,其部署在节点上,对应Kubernetes中的Pod。上述应用实例的历史运行指标数据指的是:目标集群在某个历史事件段内、其包含的应用实例的运行指标数据,该运行指标数据用于表征应用实例资源使用率指标,例如容器CPU使用率、内存利用率、磁盘、网络资源等。具体的,Kubernetes中的MetricsServer可按照预定时间间隔持续采集所有Pod副本的资源使用率指标数据。上述与历史运行指标数据相对应的历史应用指标数据,指的是:应用实例在上述运行指标数据下所对应的HTTP请求率、QPS等服务应用指标。
在本实施例中,上述历史运行指标数据具体可以是指:目标集群所运行的多个应用实例(可以为所有应用实例)、在历史时间段内(例如当前时间的前一天)的多个预设时间点(预定时间间隔对应的时间点,例如,没5秒获取一次监测数据)的CPU使用率,所述历史时间段为距当前时间点相近的预定时间段,例如当前时间点之前的一天或两天;
上述历史应用指标数据具体可以为:目标集群所运行的上述多个应用实例在上述多个预设时间点的CPU使用率时对应的多个流量数据,该流量数据可以为HTTP请求率、QPS等。
如图1-A所示,在本申请实施例中,上述获取目标集群的应用实例的历史运行指标数据,具体可以是指:从时序数据库中,获取目标集群所运行的多个应用实例、在历史时间段内的多个预设时间点的运行指标数据;对应的,上述获取与历史运行指标数据相对应的历史应用指标数据,具体可以是指:从上述时序数据库中获得与运行指标数据相对应的应用指标数据,该历史时间段为距当前时间点相近的预定时间段。与之对应的,在执行上述操作之前,还需对上述多个应用实例的运行状况和其对应的应用状况进行监测,并按所述预设时间点将监测到的运行指标数据和其对应的应用指标数据关联存储至所述时序数据库中,以供后续容量评估时使用。即,在本申请实施例中,服务以容器化的形式部署在Kubemetes集群中,Kubemetes集群部署一套监测平台,该监测平台用于监测指标,以此来指导Kubemetes集群的扩缩容,该监测平台能监测到服务所对应的Pod的运行指标(CPU、内存等)并将其保存到时序数据库,同时服务中的Java Agent应用会定期将服务所对应的Pod的应用指标(QPS等)上传到时序数据库。
S102,根据历史运行指标数据和历史应用指标数据,获得目标集群中应用实例的运行指标数据与应用指标数据之间的对应关系。
在上述步骤获取目标集群的应用实例的历史运行指标数据和历史应用指标数据之后,本步骤用于根据上述历史运行指标数据和历史应用指标数据,获得应用实例的运行指标数据与应用指标数据之间的对应关系。具体的,可对历史运行指标数据和历史应用指标数据之间的关系进行建模,获得用于表征应用实例的运行指标数据与应用指标数据之间的关系的线性回归模型;如图1-B所示,图1-B示出了上述多个应用实例、在历史时间段内的多个预设时间点的CPU使用率(CPU Usage)与各应用实例在上述多个预设时间点对应的多个QPS之间的对应关系,该对应关系可使用一条直线表示,该种回归分析称为一元线性回归分析。线性回归是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析,例如,可以通过最小二乘法拟合出表征上述CPU使用率与QPS之间的对应关系的线性方程,例如,计算出对于y=bx+a的直线,该方程即为表征应用实例的运行指标数据与应用指标数据之间的关系的线性回归模型。
S103,基于上述对应关系,获得目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值。
在上述步骤获得目标集群中应用实例的运行指标数据与应用指标数据之间的对应关系之后,本步骤用于基于该对应关系,获得目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值,即,通过预设运行指标峰值和上述线性回归模型预测获得单位应用指标峰值。在本实施例中,该过程具体通过如下方式实现:
首先,获得所述目标集群中单一应用实例的预设运行指标峰值,在本实施例中,该预设运行指标峰值为针对目标集群中单个应用实例预先设置的CPU使用率的峰值,例如,pod的CPU使用率的峰值预设为50%或60%;
其次,采用预设运行指标峰值和上述线性回归模型,预测获得与所述预设运行指标峰值相对应的单位应用指标峰值,该单位应用指标峰值具体可以为:在上述单个应用实例的CPU使用率达到峰值时、该单个应用实例对应的峰值QPS。具体的,将pod的CPU使用率的峰值50%代入上述线性方程,求得对应的QPS即为单个应用实例对应的峰值QPS。
S104,根据单位应用指标峰值和目标集群在目标时间对应的预估流量数据,获得目标集群在目标时间对应的目标实例副本数量。
在上述步骤获得预设运行指标峰值对应的单位应用指标峰值之后,本步骤用于根据所述单位应用指标峰值和目标集群在目标时间对应的预估流量数据,获得目标集群在该目标时间对应的目标实例副本数量。在此之前,还需基于目标集群的历史流量数据,预估获得所述目标集群在目标时间对应的上述预估流量数据,例如,目标集群的历史流量数据可以为目标集群在上一次促销活动期间对应的最大QPS,目标集群在目标时间对应的预估流量数据可以为:基于目标时间对应的本次促销活动相对于上一次促销活动的用户数量的提升情况,预估本次促销活动期间对应的最大QPS。
在本实施中,上述根据所述单位应用指标峰值和所述预估流量数据,获得所述目标集群在所述目标时间对应的目标实例副本数量,具体可以是指:将所述预估流量数据与所述单位应用指标峰值的比值确定为所述目标实例副本数量(目标Pod副本数量)。
在本申请另一实施例中,上述根据单位应用指标峰值和预估流量数据,获得目标集群在目标时间对应的目标实例副本数量的过程还可通过如下方式实现:首先,基于目标集群的历史运营数据获得目标集群对应的容量冗余因子,该容量冗余因子用于表征目标集群的可扩展服务上限,即,当在目标时间对应的真实流量数据高于上述预估流量数据时,利用容量冗余因子对Pod副本数量进行扩展,可保障服务的正常运行;其次,获得预估流量数据与单位应用指标峰值的比值,将该比值乘以容量冗余因子,获得目标集群在目标时间所需的目标实例副本数量(目标Pod副本数量)。
需要说明的是,在上述获得所述目标集群在所述目标时间对应的目标实例副本数量之后,还需基于所述目标实例副本数量对所述目标集群的应用实例进行弹性伸缩处理,以Kubernetes为例,该过程具体可以是:,通过Kubemetes API修改Kubemetes HPA的MinReplicas和MaxReplicas(基于目标实例副本数量),前者保证目标集群的最低应用实例数量,后者在流量高峰期的时候判断应用实例是否达到CPU负载阈值,以确定是否触发弹性伸缩,例如,Kubemetes HPA判断流量高峰时CPU负载是否超过CPU负载阈值50%,如果超过,则进行应用实例扩容(最高扩容到上述目标实例副本数量)。如果CPU负载未超过CPU负载阈值50%,将保持当前应用实例数量不变,从而避免因创建过多的宿主机或应用实例而造成资源浪费。
本申请实施例提供的系统容量预估方法,基于应用实例的历史运行指标数据和历史应用指标数据获得应用实例的运行指标数据与应用指标数据之间的对应关系,并基于该对应关系获得应用实例的预设运行指标峰值对应的单位应用指标峰值,后续基于目标集群在目标时间对应的预估流量数据和该单位应用指标峰值,可求得目标集群在目标时间对应的目标实例副本数量。由于该过程无需借助人工获取压测数据,简化了容量评估流程,降低容量评估过程的复杂度,提升容量评估效率;并且该方法基于真实的历史运行指标数据和历史应用指标数据,所获得的是应用实例的运行指标数据与应用指标数据之间的精准的对应关系,后续可借助该对应关系获得应用实例的预设运行指标峰值对应的精准的单位应用指标峰值,基于目标集群在目标时间对应的预估流量数据和该单位应用指标峰值,可求得目标集群在目标时间对应的目标实例副本数量,可提升容量评估的准确性。例如,可避免现有因依赖人工进行压测而导致容量评估过程复杂度高、以因压测流程无法覆盖所有需要压测的服务、压测数据容易滞后、失真、不准确等导致容量评估结果不准确的问题。
上述第一实施例提供了一种系统容量预估方法,与之相对应的,本申请第二实施例还提供了一种系统容量预估装置,由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的技术特征的细节部分请参见上述提供的方法实施例的对应说明即可,下述对装置实施例的描述仅仅是示意性的。
请参考图2理解该实施例,图2为本实施例提供的系统容量预估装置的单元框图,如图2所示,本实施例提供的系统容量预估装置包括:
指标数据获取单元201,用于获取目标集群的应用实例的历史运行指标数据,以及获取与所述历史运行指标数据相对应的历史应用指标数据;
对应关系获得单元202,用于根据所述历史运行指标数据和所述历史应用指标数据,获得应用实例的运行指标数据与应用指标数据之间的对应关系;
单位应用指标峰值获得单元203,用于基于所述对应关系,获得所述目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值;
实例副本数量获得单元204,用于根据所述单位应用指标峰值和所述目标集群在目标时间对应的预估流量数据,获得所述目标集群在所述目标时间对应的目标实例副本数量。
上述根据所述历史运行指标数据和所述历史应用指标数据,获得应用实例的运行指标数据与应用指标数据之间的对应关系,包括:
对所述历史运行指标数据和所述历史应用指标数据之间的关系进行建模,获得用于表征应用实例的运行指标数据与应用指标数据之间的关系的线性回归模型;
对应的,所述基于所述对应关系,获得所述目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值,包括:
获得所述目标集群中单一应用实例的预设运行指标峰值;
采用所述预设运行指标峰值和所述线性回归模型,预测获得与所述预设运行指标峰值相对应的单位应用指标峰值。
上述装置还包括:弹性伸缩处理单元,用于基于所述目标实例副本数量对所述目标集群的应用实例进行弹性伸缩处理。
上述装置还包括:预估流量数据获得单元,用于基于所述目标集群的历史流量数据,预估获得所述目标集群在目标时间对应的所述预估流量数据。
上述根据所述单位应用指标峰值和所述预估流量数据,获得所述目标集群在所述目标时间对应的目标实例副本数量,包括:将所述预估流量数据与所述单位应用指标峰值的比值确定为所述目标实例副本数量。
可选的,上述装置还包括:容量冗余因子获得单元,用于基于所述目标集群的历史运营数据获得所述目标集群对应的容量冗余因子,所述容量冗余因子用于表征所述目标集群的可扩展服务上限;
所述根据所述单位应用指标峰值和所述预估流量数据,获得所述目标集群在所述目标时间对应的目标应用实例副本数量,包括:获得所述预估流量数据与所述单位应用指标峰值的比值,将所述比值乘以所述容量冗余因子,获得所述目标集群在所述目标时间所需的目标实例副本数量。
上述获取目标集群的应用实例的历史运行指标数据,包括:从时序数据库中,获取所述目标集群所运行的多个应用实例、在历史时间段内的多个预设时间点的运行指标数据;
所述获取与所述历史运行指标数据相对应的历史应用指标数据,包括:从所述时序数据库中获得与所述运行指标数据相对应的应用指标数据,所述历史时间段为距当前时间点相近的预定时间段。
上述装置还包括:指标数据存储单元,用于对所述多个应用实例的运行状况和其对应的应用状况进行监测,并按所述预设时间点将监测到的运行指标数据和其对应的应用指标数据关联存储至所述时序数据库中。
上述历史运行指标数据包括:所述目标集群所运行的多个应用实例、在历史时间段内的多个预设时间点的CPU使用率,所述历史时间段为距当前时间点相近的预定时间段;
所述历史应用指标数据包括:所述多个应用实例对应于所述CPU使用率的多个流量数据;
所述预设运行指标峰值包括:针对所述目标集群中单个应用实例所预设的CPU使用率的峰值;
所述预设运行指标峰值对应的单位应用指标峰值包括:在所述单个应用实例的CPU使用率达到峰值时、所述单个应用实例对应的流量数据。
本申请实施例提供的系统容量预估装置,可避免现有因依赖人工进行压测而导致容量评估过程复杂度高、以因压测流程无法覆盖所有需要压测的服务、压测数据容易滞后、失真、不准确等导致容量评估结果不准确的问题。
在上述的实施例中,提供了一种系统容量预估方法以及一种系统容量预估装置,此外,本申请第三实施例还提供一种电子设备,由于电子设备实施例基本相似于方法实施例,所以描述得比较简单,相关的技术特征的细节部分请参见上述提供的方法实施例的对应说明即可,下述对电子设备实施例的描述仅仅是示意性的。该电子设备实施例如下:请参考图3理解本实施例,图3为本实施例提供的电子设备的示意图。
如图3所示,本实施例提供的电子设备包括:处理器301和存储器302;该存储器302用于存储数据处理的计算机指令,该计算机指令在被处理器301读取执行时,执行如下操作:获取目标集群的应用实例的历史运行指标数据,以及获取与所述历史运行指标数据相对应的历史应用指标数据;根据所述历史运行指标数据和所述历史应用指标数据,获得应用实例的运行指标数据与应用指标数据之间的对应关系;基于该对应关系,获得所述目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值;根据所述单位应用指标峰值和所述目标集群在目标时间对应的预估流量数据,获得所述目标集群在所述目标时间对应的目标实例副本数量。
上述根据所述历史运行指标数据和所述历史应用指标数据,获得应用实例的运行指标数据与应用指标数据之间的对应关系,包括:
对所述历史运行指标数据和所述历史应用指标数据之间的关系进行建模,获得用于表征应用实例的运行指标数据与应用指标数据之间的关系的线性回归模型;对应的,上述基于所述对应关系,获得所述目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值,包括:
获得所述目标集群中单一应用实例的预设运行指标峰值;
采用所述预设运行指标峰值和所述线性回归模型,预测获得与所述预设运行指标峰值相对应的单位应用指标峰值。
还包括:基于所述目标实例副本数量对所述目标集群的应用实例进行弹性伸缩处理。
还包括:基于所述目标集群的历史流量数据,预估获得所述目标集群在目标时间对应的所述预估流量数据。
上述根据所述单位应用指标峰值和所述预估流量数据,获得所述目标集群在所述目标时间对应的目标实例副本数量,包括:将所述预估流量数据与所述单位应用指标峰值的比值确定为所述目标实例副本数量。
还包括:基于所述目标集群的历史运营数据获得所述目标集群对应的容量冗余因子,所述容量冗余因子用于表征所述目标集群的可扩展服务上限;所述根据所述单位应用指标峰值和所述预估流量数据,获得所述目标集群在所述目标时间对应的目标应用实例副本数量,包括:获得所述预估流量数据与所述单位应用指标峰值的比值,将所述比值乘以所述容量冗余因子,获得所述目标集群在所述目标时间所需的目标实例副本数量。
上述获取目标集群的应用实例的历史运行指标数据,包括:从时序数据库中,获取所述目标集群所运行的多个应用实例、在历史时间段内的多个预设时间点的运行指标数据;
所述获取与所述历史运行指标数据相对应的历史应用指标数据,包括:从所述时序数据库中获得与所述运行指标数据相对应的应用指标数据,所述历史时间段为距当前时间点相近的预定时间段。
还包括:对所述多个应用实例的运行状况和其对应的应用状况进行监测,并按所述预设时间点将监测到的运行指标数据和其对应的应用指标数据关联存储至所述时序数据库中。
上述历史运行指标数据包括:所述目标集群所运行的多个应用实例、在历史时间段内的多个预设时间点的CPU使用率,所述历史时间段为距当前时间点相近的预定时间段;所述历史应用指标数据包括:所述多个应用实例对应于所述CPU使用率的多个流量数据;所述预设运行指标峰值包括:针对所述目标集群中单个应用实例所预设的CPU使用率的峰值;所述预设运行指标峰值对应的单位应用指标峰值包括:在所述单个应用实例的CPU使用率达到峰值时、所述单个应用实例对应的流量数据。
通过使用本实施例提供的电子设备,可避免现有因依赖人工进行压测而导致容量评估过程复杂度高、以因压测流程无法覆盖所有需要压测的服务、压测数据容易滞后、失真、不准确等导致容量评估结果不准确的问题。
在上述的实施例中,提供了一种系统容量预估方法、一种系统容量预估装置以及一种电子设备,此外,本申请第四实施例还提供了一种用于实现上述系统容量预估方法的计算机可读存储介质。本申请提供的计算机可读存储介质实施例描述得比较简单,相关部分请参见上述方法实施例的对应说明即可,下述描述的实施例仅仅是示意性的。
本实施例提供的计算机可读存储介质上存储有计算机指令,该指令被处理器执行时实现以下步骤:
获取目标集群的应用实例的历史运行指标数据,以及获取与所述历史运行指标数据相对应的历史应用指标数据;根据所述历史运行指标数据和所述历史应用指标数据,获得应用实例的运行指标数据与应用指标数据之间的对应关系;基于该对应关系,获得所述目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值;根据所述单位应用指标峰值和所述目标集群在目标时间对应的预估流量数据,获得所述目标集群在所述目标时间对应的目标实例副本数量。
上述根据所述历史运行指标数据和所述历史应用指标数据,获得应用实例的运行指标数据与应用指标数据之间的对应关系,包括:
对所述历史运行指标数据和所述历史应用指标数据之间的关系进行建模,获得用于表征应用实例的运行指标数据与应用指标数据之间的关系的线性回归模型;对应的,上述基于所述对应关系,获得所述目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值,包括:
获得所述目标集群中单一应用实例的预设运行指标峰值;
采用所述预设运行指标峰值和所述线性回归模型,预测获得与所述预设运行指标峰值相对应的单位应用指标峰值。
还包括:基于所述目标实例副本数量对所述目标集群的应用实例进行弹性伸缩处理。
还包括:基于所述目标集群的历史流量数据,预估获得所述目标集群在目标时间对应的所述预估流量数据。
上述根据所述单位应用指标峰值和所述预估流量数据,获得所述目标集群在所述目标时间对应的目标实例副本数量,包括:将所述预估流量数据与所述单位应用指标峰值的比值确定为所述目标实例副本数量。
还包括:基于所述目标集群的历史运营数据获得所述目标集群对应的容量冗余因子,所述容量冗余因子用于表征所述目标集群的可扩展服务上限;所述根据所述单位应用指标峰值和所述预估流量数据,获得所述目标集群在所述目标时间对应的目标应用实例副本数量,包括:获得所述预估流量数据与所述单位应用指标峰值的比值,将所述比值乘以所述容量冗余因子,获得所述目标集群在所述目标时间所需的目标实例副本数量。
上述获取目标集群的应用实例的历史运行指标数据,包括:从时序数据库中,获取所述目标集群所运行的多个应用实例、在历史时间段内的多个预设时间点的运行指标数据;
所述获取与所述历史运行指标数据相对应的历史应用指标数据,包括:从所述时序数据库中获得与所述运行指标数据相对应的应用指标数据,所述历史时间段为距当前时间点相近的预定时间段。
还包括:对所述多个应用实例的运行状况和其对应的应用状况进行监测,并按所述预设时间点将监测到的运行指标数据和其对应的应用指标数据关联存储至所述时序数据库中。
上述历史运行指标数据包括:所述目标集群所运行的多个应用实例、在历史时间段内的多个预设时间点的CPU使用率,所述历史时间段为距当前时间点相近的预定时间段;所述历史应用指标数据包括:所述多个应用实例对应于所述CPU使用率的多个流量数据;所述预设运行指标峰值包括:针对所述目标集群中单个应用实例所预设的CPU使用率的峰值;所述预设运行指标峰值对应的单位应用指标峰值包括:在所述单个应用实例的CPU使用率达到峰值时、所述单个应用实例对应的流量数据。
通过执行本实施例提供的计算机可读存储介质上所存储的计算机指令,可避免现有因依赖人工进行压测而导致容量评估过程复杂度高、以因压测流程无法覆盖所有需要压测的服务、压测数据容易滞后、失真、不准确等导致容量评估结果不准确的问题。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
Claims (10)
1.一种系统容量预估方法,其特征在于,包括:
获取目标集群的应用实例的历史运行指标数据,以及获取与所述历史运行指标数据相对应的历史应用指标数据;
根据所述历史运行指标数据和所述历史应用指标数据,获得应用实例的运行指标数据与应用指标数据之间的对应关系;
基于所述对应关系,获得所述目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值;
根据所述单位应用指标峰值和所述目标集群在目标时间对应的预估流量数据,获得所述目标集群在所述目标时间对应的目标实例副本数量。
2.根据权利要求1所述的方法,其特征在于,所述根据所述历史运行指标数据和所述历史应用指标数据,获得应用实例的运行指标数据与应用指标数据之间的对应关系,包括:
对所述历史运行指标数据和所述历史应用指标数据之间的关系进行建模,获得用于表征应用实例的运行指标数据与应用指标数据之间的关系的线性回归模型;
对应的,所述基于所述对应关系,获得所述目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值,包括:
获得所述目标集群中单一应用实例的预设运行指标峰值;
采用所述预设运行指标峰值和所述线性回归模型,预测获得与所述预设运行指标峰值相对应的单位应用指标峰值。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于所述目标实例副本数量对所述目标集群的应用实例进行弹性伸缩处理。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于所述目标集群的历史流量数据,预估获得所述目标集群在目标时间对应的所述预估流量数据。
5.根据权利要求1所述的方法,其特征在于,所述根据所述单位应用指标峰值和所述预估流量数据,获得所述目标集群在所述目标时间对应的目标实例副本数量,包括:将所述预估流量数据与所述单位应用指标峰值的比值确定为所述目标实例副本数量。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于所述目标集群的历史运营数据获得所述目标集群对应的容量冗余因子,所述容量冗余因子用于表征所述目标集群的可扩展服务上限;
所述根据所述单位应用指标峰值和所述预估流量数据,获得所述目标集群在所述目标时间对应的目标应用实例副本数量,包括:获得所述预估流量数据与所述单位应用指标峰值的比值,将所述比值乘以所述容量冗余因子,获得所述目标集群在所述目标时间所需的目标实例副本数量。
7.根据权利要求1所述的方法,其特征在于,所述获取目标集群的应用实例的历史运行指标数据,包括:从时序数据库中,获取所述目标集群所运行的多个应用实例、在历史时间段内的多个预设时间点的运行指标数据;
所述获取与所述历史运行指标数据相对应的历史应用指标数据,包括:从所述时序数据库中获得与所述运行指标数据相对应的应用指标数据,所述历史时间段为距当前时间点相近的预定时间段。
8.一种系统容量预估装置,其特征在于,包括:
指标数据获取单元,用于获取目标集群的应用实例的历史运行指标数据,以及获取与所述历史运行指标数据相对应的历史应用指标数据;
对应关系获得单元,用于根据所述历史运行指标数据和所述历史应用指标数据,获得应用实例的运行指标数据与应用指标数据之间的对应关系;
单位应用指标峰值获得单元,用于基于所述对应关系,获得所述目标集群中应用实例的预设运行指标峰值对应的单位应用指标峰值;
实例副本数量获得单元,用于根据所述单位应用指标峰值和所述目标集群在目标时间对应的预估流量数据,获得所述目标集群在所述目标时间对应的目标实例副本数量。
9.一种电子设备,其特征在于,包括处理器和存储器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如权利要求1-7所述的方法。
10.一种计算机可读存储介质,其上存储有一条或多条计算机指令,其特征在于,该指令被处理器执行以实现如权利要求1-7所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210019190.6A CN114356577A (zh) | 2022-01-08 | 2022-01-08 | 一种系统容量预估方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210019190.6A CN114356577A (zh) | 2022-01-08 | 2022-01-08 | 一种系统容量预估方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114356577A true CN114356577A (zh) | 2022-04-15 |
Family
ID=81106331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210019190.6A Pending CN114356577A (zh) | 2022-01-08 | 2022-01-08 | 一种系统容量预估方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114356577A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884969A (zh) * | 2022-04-28 | 2022-08-09 | 远景智能国际私人投资有限公司 | 集群实例的数量调控方法、装置、终端及存储介质 |
CN115292146A (zh) * | 2022-05-30 | 2022-11-04 | 北京结慧科技有限公司 | 一种系统容量预估方法、系统、设备及存储介质 |
CN115834388A (zh) * | 2022-10-21 | 2023-03-21 | 支付宝(杭州)信息技术有限公司 | 系统控制方法及装置 |
-
2022
- 2022-01-08 CN CN202210019190.6A patent/CN114356577A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884969A (zh) * | 2022-04-28 | 2022-08-09 | 远景智能国际私人投资有限公司 | 集群实例的数量调控方法、装置、终端及存储介质 |
CN115292146A (zh) * | 2022-05-30 | 2022-11-04 | 北京结慧科技有限公司 | 一种系统容量预估方法、系统、设备及存储介质 |
CN115834388A (zh) * | 2022-10-21 | 2023-03-21 | 支付宝(杭州)信息技术有限公司 | 系统控制方法及装置 |
CN115834388B (zh) * | 2022-10-21 | 2023-11-14 | 支付宝(杭州)信息技术有限公司 | 系统控制方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114356577A (zh) | 一种系统容量预估方法以及装置 | |
US9696786B2 (en) | System and method for optimizing energy consumption by processors | |
US8630836B2 (en) | Predicting system performance and capacity using software module performance statistics | |
US10909018B2 (en) | System and method for end-to-end application root cause recommendation | |
US11579933B2 (en) | Method for establishing system resource prediction and resource management model through multi-layer correlations | |
CN106776288B (zh) | 一种基于Hadoop的分布式系统的健康度量方法 | |
CN112346829A (zh) | 一种用于任务调度的方法及设备 | |
CN110633194B (zh) | 一种硬件资源在特定环境下的性能评估方法 | |
CN107368372B (zh) | 一种基于云海os平台的资源展示方法与装置 | |
US20160306727A1 (en) | Operation management apparatus and operation management method | |
US20180097705A1 (en) | Backend Resource Costs For Online Service Offerings | |
CN110083518B (zh) | 一种基于AdaBoost-Elman的虚拟机软件老化预测方法 | |
CN106201839B (zh) | 一种业务对象的信息加载方法和装置 | |
CN110968495A (zh) | 一种容器云平台性能评估方法及装置 | |
JP2019105927A (ja) | 故障確率算出装置、故障確率算出方法及びプログラム | |
CN110688063A (zh) | 一种Raid的慢盘筛选方法、装置、设备及介质 | |
JP4416626B2 (ja) | 処理時間算出プログラム | |
CN116382987A (zh) | 性能测试方法、装置、处理器及机器可读存储介质 | |
JP2009193205A (ja) | 自動チューニングシステム、自動チューニング装置、自動チューニング方法 | |
CN114721798A (zh) | 一种专有云的资源处理方法和装置 | |
WO2021096346A1 (en) | A computer-implemented system for management of container logs and its method thereof | |
CN116124218B (zh) | 变压器故障的诊断方法、装置、存储介质以及电子设备 | |
CN114154668A (zh) | It系统扩容预测方法及装置 | |
CN110673954A (zh) | 利用率预测方法、装置、计算设备、存储介质及程序产品 | |
CN113282304B (zh) | 基于app安装列表识别虚拟机的系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |