CN111897706A - 服务器性能预测方法、装置、计算机***和介质 - Google Patents
服务器性能预测方法、装置、计算机***和介质 Download PDFInfo
- Publication number
- CN111897706A CN111897706A CN202010683743.9A CN202010683743A CN111897706A CN 111897706 A CN111897706 A CN 111897706A CN 202010683743 A CN202010683743 A CN 202010683743A CN 111897706 A CN111897706 A CN 111897706A
- Authority
- CN
- China
- Prior art keywords
- sample
- server
- time period
- performance
- index
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种服务器性能预测方法,包括:从针对指定应用的多个服务器中选择一个代表服务器;监测所述代表服务器在第一时段内的多种基本指标;利用预先构建的预测模型对所述多种基本指标进行处理,以确定所述代表服务器在所述第一时段内的性能指标;以及,基于所述代表服务器在所述第一时段内的性能指标,确定所述多个服务器中的每个服务器在所述第一时段内的性能状态。本公开还提供了一种服务器性能预测装置、计算机***和介质。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种服务器性能预测方法、装置、计算机***和介质。
背景技术
随着银行业务的不断发展和扩张,业务功能和业务数据不断增加。如何做好容量管理是业务发展过程中的关键问题。例如,对于IT规划部门,需考虑如何准确评估、合理制定IT预算,以便为业务的发展提供良好支撑。对于IT采购和***门,一方面需要考虑软硬件采购的合理性,力求以合理的支出产生最大的效益,另一方面,需要有足够的预见性,制定合适的采购方案。对于IT运维部门,关注日常运维过程中***性能指标变化趋势,及时发现性能瓶颈,可以提前预警潜在的性能和容量问题,减少生产隐患,保证***平稳健康运行。
发明内容
本公开的一个方面提供了一种服务器性能预测方法,包括:从针对指定应用的多个服务器中选择一个代表服务器;监测所述代表服务器在第一时段内的多种基本指标;利用预先构建的预测模型对所述多种基本指标进行处理,以确定所述代表服务器在所述第一时段内的性能指标;以及,基于所述代表服务器在所述第一时段内的性能指标,确定所述多个服务器中的每个服务器在所述第一时段内的性能状态。
可选地,上述方法还包括:在上述利用预先构建的预测模型对所述多种基本指标进行处理之前,构建初始预测模型;监测所述代表服务器在第二时段中的每个时间周期内的样本性能指标和多种样本基本指标,所述第二时段包括M个时间周期,M为大于1的整数;以及,基于M个时间周期各自的样本性能指标和多种样本基本指标,对所述初始预测模型进行训练,以得到所述预测模型。
可选地,初始预测模型包括多元线性回归模型。
可选地,上述基于M个时间周期各自的样本性能指标和多种样本基本指标,对初始预测模型进行训练包括:针对所述M个时间周期中的第i个时间周期,i为大于等于1且小于等于M的整数,由所述第i个时间周期内的样本性能指标和多种样本基本指标构成第i个样本组;对第i个时间周期内的样本性能指标和每种样本基本指标进行相关性检验,以确定样本性能指标和每种样本基本指标之间的相关系数;以及,当存在低于第一阈值的相关系数时,从针对M个时间周期的M个样本组中筛除第i个样本组。然后,利用M个样本组经筛除后剩余的N个样本组,对初始预测模型进行训练,以得到预测模型,N为大于等于1且小于等于M的整数。
可选地,上述利用M个样本组经筛除后剩余的N个样本组,对初始预测模型进行训练包括:针对所述N个样本组中的第j个样本组,将所述第j个样本组中的样本基本指标作为所述初始预测模型的自变量,并将所述第j个样本组中的样本性能指标作为所述初始预测模型的因变量,以得到N个模型表示,j为大于等于1且小于等于N的整数;基于最小二乘法和所述N个模型表示,确定初始预测模型的优化系数;以及,基于所述优化系数,确定所述预测模型。
可选地,上述利用预先构建的预测模型对所述多种基本指标进行处理包括:将所述多种基本指标作为所述预测模型的自变量,基于所述预测模型,计算所述预测模型的因变量,以作为所述代表服务器在第一时段内的性能指标。
可选地,上述多种基本指标包括:用于表征业务量的第一指标、用于表征服务器运行时长的第二指标、和用于表征服务器虚拟化程度的第三指标。上述多种样本基本指标包括:用于表征业务量的第一样本指标、用于表征服务器运行时长的第二样本指标、和用于表征服务器虚拟化程度的第三样本指标。
可选地,上述方法还包括:在所述基于M个时间周期各自的样本性能指标和多种样本基本指标,对所述初始预测模型进行训练之前,对所述多种样本基本指标进行预处理。其中,对所述多种样本基本指标进行预处理包括如下至少一项:计算所述M个时间周期各自关于第一样本指标的第一均值和第一方差,基于所述M个时间周期中的第i个时间周期内的所述第一均值、所述第一方差和所述M个时间周期中的第i个时间周期内的第一样本指标,计算所述第i个时间周期内的第一样本指标的数值;计算所述M个时间周期各自关于第二样本指标的第二均值和第二方差,基于所述第i个时间周期内的所述第二均值、所述第二方差和所述第i个时间周期内的第二样本指标,计算所述第i个时间周期内的第二样本指标的数值;以及,确定第i个时间周期内的第三样本指标的类型,基于与所述类型对应的权重,确定所述第i个时间周期内的第三样本指标的数值。
可选地,上述性能指标包括如下之一:CPU使用率、内存使用率、服务器连接数、和虚拟机使用率。上述样本性能指标包括如下之一:样本CPU使用率、样本内存使用率、样本服务器连接数、和样本虚拟机使用率。
可选地,上述监测所述代表服务器在第二时段中的每个时间周期内的样本性能指标包括:监测所述每个时间周期内当业务量处于峰值时的预定性能指标,以作为所述样本性能指标。
本公开的另一方面提供了一种服务器性能预测装置,包括:选择模块,用于从针对指定应用的多个服务器中选择一个代表服务器;监测模块,用于监测所述代表服务器在第一时段内的多种基本指标;预测模块,用于利用预先构建的预测模型对所述多种基本指标进行处理,以确定所述代表服务器在所述第一时段内的性能指标;以及,确定模块,用于基于所述代表服务器在所述第一时段内的性能指标,确定所述多个服务器中的每个服务器在所述第一时段内的性能状态。
本公开的另一方面提供了一种计算机***,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开实施例的服务器性能预测方法为预测指定应用的服务器性能状态,从针对指定应用的一组具有相同功能的服务器中选择一个服务器作为代表服务器,利用预测模型对代表服务器在第一时段内被监测的多种基本指标进行处理,以确定代表服务器在第一时段内的性能指标。该过程中,由于代表服务器的多种基本指标可以从多个维度反映代表服务器的运行状态,使得基于多种基本指标预测得到的性能指标的准确度更高,进而使得基于代表服务器的性能指标所确定的针对指定应用的服务器组在第一时段内的性能状态更为准确。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的服务器性能预测方法和装置的示例性***架构;
图2示意性示出了根据本公开实施例的服务器性能预测方法的流程图;
图3示意性示出了根据本公开另一实施例的服务器性能预测方法的流程图;
图4示意性示出了根据本公开实施例的预处理过程的示例图;
图5示意性示出了根据本公开实施例的服务器性能预测装置的框图;以及
图6示意性示出了根据本公开实施例的计算机***的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
本公开的实施例提供了一种服务器性能预测方法和装置。该服务器性能预测方法可以包括选择过程、监测过程、预测过程和确定过程。在选择过程中,从针对指定应用的多个服务器中选择一个代表服务器。在监测过程中,监测代表服务器在第一时段内的多种基本指标。然后在预测过程利用预先构建的预测模型对多种基本指标进行处理,以确定代表服务器在第一时段内的性能指标。接着在确定过程中,基于代表服务器在第一时段内的性能指标,确定针对指定应用的多个服务器中的每个服务器在第一时段内的性能状态。
图1示意性示出了根据本公开实施例的可以应用服务器性能预测方法和装置的示例性***架构100。需要注意的是,图1所示仅为可以应用本公开实施例的***架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、***、环境或场景。
如图1所示,根据该实施例的***架构100可以包括监控设备110,网络120和服务器/服务器集群130。监控设备110可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。网络120用以在监控设备110和服务器/服务器集群130之间提供通信链路的介质。网络120可以包括各种连接类型,例如各种有线、无线通信链路。服务器/服务器集群130是可以提供各种业务支持的后台管理服务器或服务器集群。
监控设备110上可以安装有监测软件。监控设备110可以通过各种监测软件与服务器/服务器集群130进行交互,以监测服务器/服务器集群130的运行状态和各项运行指标。
需要说明的是,本公开实施例所提供的服务器性能预测方法一般可以由监控设备110执行。相应地,本公开实施例所提供的服务器性能预测装置一般可以设置于监控设备110中。在其他例子中,本公开实施例所提供的服务器性能预测方法也可以由服务器/服务器集群130执行。相应地,本公开实施例所提供的服务器性能预测装置也可以设置于服务器/服务器集群130中。
应该理解,图1中的监控设备、网络和服务器/服务器集群的数目仅仅是示意性的。根据实际需要,可以具有任意数目的监控设备、网络和服务器/服务器集群。
随着银行业务的不断发展和扩张,业务功能和业务数据不断增加。如何做好容量管理是业务发展过程中的关键问题。例如,对于IT规划部门,需考虑如何准确评估、合理制定IT预算,以便为业务的发展提供良好支撑。对于IT采购和***门,一方面需要考虑软硬件采购的合理性,力求以合理的支出产生最大的效益,另一方面,需要有足够的预见性,制定合适的采购方案。对于IT运维部门,关注日常运维过程中***性能指标变化趋势,及时发现性能瓶颈,可以提前预警潜在的性能和容量问题,减少生产隐患,保证***平稳健康运行。
一些情况下,运维部门根据开发部门提供的业务量笔数的变化率,按照线性关系(例如1∶1的线性关系)预估业务***的性能指标的变化率。例如,根据业务量笔数的增长率计算CPU的使用增长率和内存的增长变化率,增长率=增长量/初始值。这种方式简单易行,但也存在很大问题。首先,业务***的CPU使用率不仅取决于业务量,还与业务***的本地虚拟化程度、CPU使用寿命等多个变量密切有关,以业务量作为单一变量的解释力度不够强,导致性能预测结果的准确性较差。根据以往运维经验的数据来看,仅使用业务量这一单一变量预测得到的CPU使用率误差较大,往往存在高估现象。其次,变化率之间1∶1的关系只是假设的,并没有理论方面和历史数据上的依据和支撑,变量之间的关联关系较为粗糙,不够客观。
根据本公开的实施例,提供了一种服务器性能预测方法。下面结合附图进行示例性说明。应注意,以下方法中各个操作的序号仅作为该操作的表示以便描述,而不应被看作表示该各个操作的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。
图2示意性示出了根据本公开实施例的服务器性能预测方法的流程图。
如图2所示,该服务器性能预测方法可以包括操作S210~S240。
在操作S210,从针对指定应用的多个服务器中选择一个代表服务器。
示例性地,基于银行交易众多、应用***复杂的情况,为简化问题,在进行服务器性能预测过程中,可以针对单一交易场景进行分析。例如,选择具有代表性的指定应用,指定应用可以是用于提供一种业务功能的应用,也可以是用于提供多种相互关联的业务功能的应用。针对指定应用的多个服务器可称为服务器组,该服务器组可以是针对指定应用的服务器集群中的多个服务器。由于这些服务器功能相似且运行状态相同,可以从中选择一个服务器作为代表服务器。
在操作S220,监测代表服务器在第一时段内的多种基本指标。
示例性地,第一时段可以根据实际需要进行设置,例如可以是1天、1周、1个月等,在此不做限制。第一时段可以包括多个时间周期,时间周期也可以根据实际需要进行设置。本操作S220可以监测代表服务器在第一时间中的每个单位时间周期内的多种基本指标。多种基本指标可以从多个维度来反映代表服务器的运行状态。
在操作S230,利用预先构建的预测模型对多种基本指标进行处理,以确定代表服务器在第一时段内的性能指标。
在操作S240,基于代表服务器在第一时段内的性能指标,确定上述多个服务器中的每个服务器在第一时段内的性能状态。
示例性地,可以将代表服务器在第一时段内的性能指标直接看作是上述多个服务器各自在第一时段内的性能指标。或者,也可以将代表服务器在第一时段内的性能指标作为上述服务器组在第一时段内的平均性能指标,可以再根据该服务器组中的各个服务器的具体情况,以该平均性能指标为基础,估算出各个服务器的性能指标。进而通过性能指标表征各个服务器的性能状态。
本领域技术人员可以理解,根据本公开实施例的服务器性能预测方法为预测指定应用的服务器性能状态,从针对指定应用的一组具有相同功能的服务器中选择一个服务器作为代表服务器,利用预测模型对代表服务器在第一时段内被监测的多种基本指标进行处理,以确定代表服务器在第一时段内的性能指标。该过程中,由于代表服务器的多种基本指标可以从多个维度反映代表服务器的运行状态,使得基于多种基本指标预测得到的性能指标的准确度更高,进而使得基于代表服务器的性能指标所确定的针对指定应用的服务器组在第一时段内的性能状态更为准确。
图3示意性示出了根据本公开另一实施例的服务器性能预测方法的流程图。
如图3所示,该服务器性能预测方法在执行上述操作S230之前,还包括操作S310~S330。
在操作S310,构建初始预测模型。
示例性地,初始预测模型可以是各种机器学习模型、深度学习模型等,在此不做限制。
在操作S320,监测代表服务器在第二时段中的每个时间周期内的样本性能指标和多种样本基本指标。
示例性地,第二时段包括M个时间周期,M为大于1的整数。例如,设置第二时段为1天,时间周期为1个小时。针对代表服务器,可以监测代表服务器在某1天(例如2020年5月1日)中第1个小时内的样本性能指标和多种样本基本指标、在第2个小时内的样本性能指标和多种样本基本指标、……、在第24个小时内的样本性能指标和多种样本基本指标。
在操作S330,基于M个时间周期各自的样本性能指标和多种样本基本指标,对初始预测模型进行训练,以得到预测模型。
示例性地,本操作针对M个时间周期中的每个时间周期均可以执行如下操作:以第i个时间周期为例,i为大于等于1且小于等于M的整数,由第i个时间周期内的样本性能指标和多种样本基本指标构成第i个样本组。对第i个时间周期内的样本性能指标和每种样本基本指标进行相关性检验,以确定样本性能指标和每种样本基本指标之间的相关系数;以及,当第i个时间周期内的多种样本基本指标与样本性能指标之间的相关性系数中存在低于第一闽值的相关系数时,从针对M个时间周期的M个样本组中筛除针对第i个时间周期的第i个样本组。然后,利用M个样本组经筛除后剩余的N个样本组,对初始预测模型进行训练,以得到预测模型,N为大于等于1且小于等于M的整数。
下面结合具体实施例,示例性地对预测模型的训练过程进行说明。
在本公开的一个实施例中,考虑到模型训练过程的效率和模型训练效果,本例可以选择多元线性回归模型作为初始预测模型。上述样本性能指标可以包括如下之一:样本CPU使用率、样本内存使用率、样本服务器连接数、和样本虚拟机使用率。上述多种样本基本指标可以包括:用于表征业务量的第一样本指标、用于表征服务器运行时长的第二样本指标、和用于表征服务器虚拟化程度的第三样本指标。
示例性地,可以利用TPS(Transactions Per Second,每秒事务数)作为第一样本指标。通过查询历史数据得到单台服务器的业务量。根据运维经验,例如选取重点时期(即上述第二时段)每日(即上述时间周期)内的TPS峰值作为每个时间周期内的第一样本指标。上述第二样本指标可以通过获取服务器运行时间来粗略替代,例如可以用***运行时间uptime衡量。上述第三样本指标可以根据服务器虚拟化程度进行标记,分为物理机,虚拟机,IAAS(Infrastructure as a Service,基础设施即服务)平台,PAAS(平台即服务)平台。物理机对于CPU的消耗最小,虚拟机其次,PAAS最多。
示例性地,可以选取CPU使用率作为性能指标。该性能指标可以利用监控***或者数据库查询到。例如选取每一天之中,TPS达到峰值时的CPU使用率,以作为每个时间周期内的性能指标。
根据本公开的实施例,可以利用多元线性回归模型进行作为服务器性能指标之一的CPU使用率的预测。回归模型是数学和统计学上常用的模型,用来找到自变量和因变量之间的关系,最常见的形式是线性回归。根据自变量的个数,分为一元和多元,考虑到一个自变量不能全面解释因变量,本实施例采用第一样本指标、第二样本指标和第三样本指标作为多个自变量来解释因变量CPU的使用情况,从而获得比之前的方案更加精确的预测。根据运维经验,以上3个自变量是影响服务器CPU使用率的主要因素,其中业务量越大,越消耗CPU,单台服务器虚拟化程度越高,越消耗CPU,服务器的使用寿命越长,越消耗CPU。例如表示为因变量(y):CPU利用率;自变量(x):TPS,虚拟化程度,CPU已使用寿命。
例如,选取针对指定应用的一组功能相似的应用服务器中的一台作为代表服务器,利用该代表服务器的CPU使用率代表这一类应用服务器的CPU使用率。利用监控***或者通过查询数据库得到这台服务器在一段时期内的CPU使用率,同时获取这类服务器在同一段时期内的TPS、服务器己使用寿命和***虚拟化程度。设置时间周期为1天,利用监控***或者通过查询数据库得到这台服务器在一段时间之内每一天的样本CPU使用率,同时获取这类服务器相同时间内每一天的TPS、服务器已使用寿命数据和***虚拟化程度数据,故可以获取到同一台服务器在第二时段中每一天的4组数据,每一天的4组数据可以构成一个样本组。
为保证回归模型成立,需要对自变量和因变量进行相关性检验,保证自变量能够解释因变量。此外还可以对自变量和自变量之间进行相关性检验,以保证多元线性回归方程合理、且不存在多重共线性。
例如,通过自变量和因变量之间的相关性检验(p),可以确定基于上述自变量和因变量建立一个线性回归模型是否合理。当相关性系数符合第一预定条件时,即认为建立线性回归模型是合理的,即自变量和因变量之间存在一个线性关系,使得CPU使用率作为因变量可以被不同的3个自变量所解释。
例如,通过自变量和自变量之间的相关性检验,可以确定所选取的多个自变量之间,是否具有很强的相关。当自变量和自变量之间的相关性系数符合第二预定条件时,认为二者之间不存在强相关性,可以建立多元回归模型。当自变量和自变量之间的相关性系数不符合第二预定条件时,可认为二者之间存在强相关性,会出现多重共线性情况,不符合回归方程的成立前提。
通过以上相关性检验分析,可以从所监测的多个样本组中筛除不适宜作为训练样本的样本组,从而利用剩余的可用样本组对初始预测模型进行训练。
由于上述作为自变量每种样本基本指标的量纲不同,根据本公开的实施例,需要通过预处理过程进行标准化,以统一自变量的单位。示例性地,对多种样本基本指标进行预处理包括如下至少一项:根据第一样本指标的分布特性,计算M个时间周期各自关于第一样本指标的第一均值和第一方差。基于M个时间周期中的第i个时间周期内的第一均值、第一方差和第i个时间周期内的第一样本指标,计算所述第i个时间周期内的第一样本指标的数值。根据第二样本指标的分布特性,计算M个时间周期各自关于第二样本指标的第二均值和第二方差,基于第i个时间周期内的第二均值、第二方差和第i个时间周期内的第二样本指标,计算第i个时间周期内的第二样本指标的数值。确定第i个时间周期内的第三样本指标的类型,基于与该类型对应的权重,确定第i个时间周期内的第三样本指标的数值。
图4示意性示出了根据本公开实施例的预处理过程的示例图。如图4所示,自变量集合X包括自变量x1、自变量x2和自变量x3,本例中自变量x1为TPS,自变量x2为虚拟化程度数据,自变量x3为服务器使用寿命数据。例如可以假定每个自变量的取值分布符合正态分布Z或者t分布。针对每种样本基本指标,可以把以上获取到的数据减去均值除以方差以得到标准化的值(例如几倍的标准差)。例如,对于TPS,假设TPS观测到是A,可以用(A-TPS的均值)/TPS方差,得到一个几倍的标准差。对于虚拟化程度数据,可以根据运维经验,以百分比的形式规定一个影响权重,CPU消耗越多,百分比越大。例如,如果是物理机,设置权重为10%;如果是虚拟机,设置权重为15%;如果是IAAS,设置权重为20%;如果是PAAS,设置权重为25%。对于服务器使用寿命数据,用uptime服务器运行天数来统计服务器使用寿命数据,做法可以参照TPS的处理方式。
经过上述预处理过程后,各自变量的量纲相统一,可以进行输入初始预测模型进行训练。
根据本公开的实施例,上述利用经筛除后剩余的可用样本组(例如为N个样本组),对初始预测模型进行训练的过程可以按照如下方式实施:针对N个样本组中的第j个样本组,将第j个样本组中的多种样本基本指标分别作为初始预测模型的自变量,并将第j个样本组中的样本性能指标作为初始预测模型的因变量Y,以得到N个模型表示。接着,基于最小二乘法和上述N个模型表示,确定初始预测模型的优化系数;以及,基于优化系数,确定预测模型。其中j为大于等于1且小于等于N的整数。
例如,建立多元线性回归模型如公式(1)所示。
y=a+b1x1+b2x2+b3x3+e
公式(1)
其中,y代表某台服务器的CPU使用率,a为截距项。b1系数表示x1对于y的解释程度,b2系数表示x2对于y的解释程度,b3系数表示x3对于y的解释程度。x1表示业务量,x2表示虚拟化程度,x3表示服务器已使用寿命。e为残差项,表示模型得到的预测值和真实值之间的差异。
将预处理后的各个样本组中的数据代入公式(1)计算得出模型。具体地,可以用最小二乘法得到系数b1、b2、b3和a。
通过性能测试或历史数据回测,即利用各组样本组中的性能指标计算模型精确度,当模型精确度达到目标精确度时,确定完成训练,得到预测模型。示例性地,检验模型的精确度,可以利用多元线性回归中,衡量模型拟合程度的指标R2(coefficient ofDetermination,决定系数)来计算,R2值越高越好,例如设置达到0.8/0.9为达到目标精确度。
在此基础上,上述利用预先构建的预测模型对所述多种基本指标进行处理的过程可以包括:将代表服务器在第一时段的多种基本指标作为预测模型的自变量,基于预测模型,计算预测模型的因变量,以作为代表服务器在第一时段内的性能指标。
模型出来后,就可以对未来某台服务器的CPU进行预测,将未来业务量的估算,虚拟化程度和运行时间数据带入到方程中,即可得到该模型下的CPU预估值,同时也可以对该预估值进行功能扩展,比如我们可以根据现有模型计算出来预估资源开销,将预估值和CPU报警阈值进行比对,***生产***的空闲程度或者性能瓶颈,为后续架构部门对资源剪裁或者扩容提供依据,从而达到合理分配硬件资源,有效利用科技资金的目的。另外,本公开实施例也可以用类似的方法去估算服务器的其他性能容量指标,比如内存,服务器连接数,JVM(Java Virtual Machine,Java虚拟机)使用率等等。
在使用预测模型对未知性能指标进行预测的过程中,与上述样本基本指标同理,在样本基本指标为第一样本指标、第二样本指标和第三样本指标的前提下,多种基本指标包括:用于表征业务量的第一指标、用于表征服务器运行时长的第二指标、和用于表征服务器虚拟化程度的第三指标。上述性能指标包括如下之一:CPU使用率、内存使用率、服务器连接数、和虚拟机使用率。针对采集到对的第一时段内的多种基本指标的处理方式与上述针对多种样本基本指标的处理方式同理,在此不再赘述。
可以理解,根据本公开的实施例,采用多元回归的方法,一方面弥补了单一变量带来的解释力度弱的问题,多个自变量的使用使得整个方程作为一个整体,有较强的解释因变量的力度,有理论依据。另一方面,用历史数据作为样本,计算得到系数,有数据支撑。
图5示意性示出了根据本公开实施例的服务器性能预测装置的框图,可以应用于各种类型的计算机***。
如图5所示,该服务器性能预测装置500可以包括:选择模块510、监测模块520、预测模块530和确定模块540。
选择模块510用于从针对指定应用的多个服务器中选择一个代表服务器。
监测模块520用于监测代表服务器在第一时段内的多种基本指标。
预测模块530用于利用预先构建的预测模型对多种基本指标进行处理,以确定代表服务器在第一时段内的性能指标。
确定模块540用于基于代表服务器在第一时段内的性能指标,确定多个服务器中的每个服务器在第一时段内的性能状态。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,选择模块510、监测模块520、预测模块530和确定模块540中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,选择模块510、监测模块520、预测模块530和确定模块540中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,选择模块510、监测模块520、预测模块530和确定模块540中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图6示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机***的方框图。图6示出的计算机***仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,根据本公开实施例的计算机***600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 603中,存储有***600操作所需的各种程序和数据。处理器601、ROM 602以及RAM 603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,***600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。***600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (13)
1.一种服务器性能预测方法,包括:
从针对指定应用的多个服务器中选择一个代表服务器;
监测所述代表服务器在第一时段内的多种基本指标;
利用预先构建的预测模型对所述多种基本指标进行处理,以确定所述代表服务器在所述第一时段内的性能指标;以及
基于所述代表服务器在所述第一时段内的性能指标,确定所述多个服务器中的每个服务器在所述第一时段内的性能状态。
2.根据权利要求1所述的方法,还包括:
在所述利用预先构建的预测模型对所述多种基本指标进行处理之前,
构建初始预测模型;
监测所述代表服务器在第二时段中的每个时间周期内的样本性能指标和多种样本基本指标,所述第二时段包括M个时间周期,M为大于1的整数;以及
基于M个时间周期各自的样本性能指标和多种样本基本指标,对所述初始预测模型进行训练,以得到所述预测模型。
3.根据权利要求2所述的方法,其中,所述初始预测模型包括多元线性回归模型。
4.根据权利要求2所述的方法,其中,所述基于M个时间周期各自的样本性能指标和多种样本基本指标,对所述初始预测模型进行训练包括:
针对所述M个时间周期中的第i个时间周期,i为大于等于1且小于等于M的整数,
由所述第i个时间周期内的所述样本性能指标和多种样本基本指标构成第i个样本组;
对所述第i个时间周期内的所述样本性能指标和每种样本基本指标进行相关性检验,以确定所述样本性能指标和所述每种样本基本指标之间的相关系数;以及
当存在低于第一阈值的相关系数时,从针对所述M个时间周期的M个样本组中筛除所述第i个样本组;以及
利用所述M个样本组经筛除后剩余的N个样本组,对所述初始预测模型进行训练,以得到所述预测模型,N为大于等于1且小于等于M的整数。
5.根据权利要求4所述的方法,其中,所述利用所述M个样本组经筛除后剩余的N个样本组,对所述初始预测模型进行训练包括:
针对所述N个样本组中的第j个样本组,将所述第j个样本组中的样本基本指标作为所述初始预测模型的自变量,并将所述第j个样本组中的样本性能指标作为所述初始预测模型的因变量,以得到N个模型表示,j为大于等于1且小于等于N的整数;
基于最小二乘法和所述N个模型表示,确定初始预测模型的优化系数;以及
基于所述优化系数,确定所述预测模型。
6.根据权利要求5所述的方法,其中,所述利用预先构建的预测模型对所述多种基本指标进行处理包括:
将所述多种基本指标作为所述预测模型的自变量,基于所述预测模型,计算所述预测模型的因变量,以作为所述代表服务器在第一时段内的性能指标。
7.根据权利要求2所述的方法,其中,
所述多种基本指标包括:用于表征业务量的第一指标、用于表征服务器运行时长的第二指标、和用于表征服务器虚拟化程度的第三指标;
所述多种样本基本指标包括:用于表征业务量的第一样本指标、用于表征服务器运行时长的第二样本指标、和用于表征服务器虚拟化程度的第三样本指标。
8.根据权利要求7所述的方法,还包括:
在所述基于M个时间周期各自的样本性能指标和多种样本基本指标,对所述初始预测模型进行训练之前,对所述多种样本基本指标进行预处理;
其中,对所述多种样本基本指标进行预处理包括如下至少一项:
计算所述M个时间周期各自关于第一样本指标的第一均值和第一方差,基于所述M个时间周期中的第i个时间周期内的所述第一均值、所述第一方差和所述第i个时间周期内的第一样本指标,计算所述第i个时间周期内的第一样本指标的数值;
计算所述M个时间周期各自关于第二样本指标的第二均值和第二方差,基于所述第i个时间周期内的所述第二均值、所述第二方差和所述第i个时间周期内的第二样本指标,计算所述第i个时间周期内的第二样本指标的数值;以及
确定第i个时间周期内的第三样本指标的类型,基于与所述类型对应的权重,确定所述第i个时间周期内的第三样本指标的数值。
9.根据权利要求2所述的方法,其中,
所述性能指标包括如下之一:CPU使用率、内存使用率、服务器连接数、和虚拟机使用率;
所述样本性能指标包括如下之一:样本CPU使用率、样本内存使用率、样本服务器连接数、和样本虚拟机使用率。
10.根据权利要求2所述的方法,其中,所述监测所述代表服务器在第二时段中的每个时间周期内的样本性能指标包括:
监测所述每个时间周期内当业务量处于峰值时的预定性能指标,以作为所述样本性能指标。
11.一种服务器性能预测装置,包括:
选择模块,用于从针对指定应用的多个服务器中选择一个代表服务器;
监测模块,用于监测所述代表服务器在第一时段内的多种基本指标;
预测模块,用于利用预先构建的预测模型对所述多种基本指标进行处理,以确定所述代表服务器在所述第一时段内的性能指标;以及
确定模块,用于基于所述代表服务器在所述第一时段内的性能指标,确定所述多个服务器中的每个服务器在所述第一时段内的性能状态。
12.一种计算机***,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如权利要求1~10任一项所述的方法。
13.一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如权利要求1~10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010683743.9A CN111897706A (zh) | 2020-07-15 | 2020-07-15 | 服务器性能预测方法、装置、计算机***和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010683743.9A CN111897706A (zh) | 2020-07-15 | 2020-07-15 | 服务器性能预测方法、装置、计算机***和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111897706A true CN111897706A (zh) | 2020-11-06 |
Family
ID=73191273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010683743.9A Pending CN111897706A (zh) | 2020-07-15 | 2020-07-15 | 服务器性能预测方法、装置、计算机***和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111897706A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416608A (zh) * | 2021-01-22 | 2021-02-26 | 鹏城实验室 | 面向云平台性能评估的资源分配方法、装置及存储介质 |
CN112631892A (zh) * | 2021-03-10 | 2021-04-09 | 中智关爱通(南京)信息科技有限公司 | 预测服务器健康状态的方法、计算设备和计算机介质 |
CN113535407A (zh) * | 2021-07-30 | 2021-10-22 | 济南浪潮数据技术有限公司 | 一种服务器的优化方法、***、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279692A (zh) * | 2015-11-17 | 2016-01-27 | 中国建设银行股份有限公司 | 金融信息技术***性能预测方法和装置 |
CN109614231A (zh) * | 2018-12-04 | 2019-04-12 | 广东亿迅科技有限公司 | 空闲服务器资源发现方法、装置、计算机设备和存储介质 |
CN109800139A (zh) * | 2018-12-18 | 2019-05-24 | 东软集团股份有限公司 | 服务器健康度分析方法,装置,存储介质及电子设备 |
CN110809060A (zh) * | 2019-11-18 | 2020-02-18 | 北京东方通科技股份有限公司 | 一种应用服务器集群的监控***及监控方法 |
-
2020
- 2020-07-15 CN CN202010683743.9A patent/CN111897706A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279692A (zh) * | 2015-11-17 | 2016-01-27 | 中国建设银行股份有限公司 | 金融信息技术***性能预测方法和装置 |
CN109614231A (zh) * | 2018-12-04 | 2019-04-12 | 广东亿迅科技有限公司 | 空闲服务器资源发现方法、装置、计算机设备和存储介质 |
CN109800139A (zh) * | 2018-12-18 | 2019-05-24 | 东软集团股份有限公司 | 服务器健康度分析方法,装置,存储介质及电子设备 |
CN110809060A (zh) * | 2019-11-18 | 2020-02-18 | 北京东方通科技股份有限公司 | 一种应用服务器集群的监控***及监控方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416608A (zh) * | 2021-01-22 | 2021-02-26 | 鹏城实验室 | 面向云平台性能评估的资源分配方法、装置及存储介质 |
CN112416608B (zh) * | 2021-01-22 | 2021-05-11 | 鹏城实验室 | 面向云平台性能评估的资源分配方法、装置及存储介质 |
CN112631892A (zh) * | 2021-03-10 | 2021-04-09 | 中智关爱通(南京)信息科技有限公司 | 预测服务器健康状态的方法、计算设备和计算机介质 |
CN113535407A (zh) * | 2021-07-30 | 2021-10-22 | 济南浪潮数据技术有限公司 | 一种服务器的优化方法、***、设备及存储介质 |
CN113535407B (zh) * | 2021-07-30 | 2024-03-19 | 济南浪潮数据技术有限公司 | 一种服务器的优化方法、***、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11119878B2 (en) | System to manage economics and operational dynamics of IT systems and infrastructure in a multi-vendor service environment | |
US10691647B2 (en) | Distributed file system metering and hardware resource usage | |
US10296364B2 (en) | Capacity risk management for virtual machines | |
US9575810B2 (en) | Load balancing using improved component capacity estimation | |
CN111897706A (zh) | 服务器性能预测方法、装置、计算机***和介质 | |
EP2015510A2 (en) | Deployment planning of components in heterogeneous environments | |
US8578023B2 (en) | Computer resource utilization modeling for multiple workloads | |
US20150302440A1 (en) | Cloud computing solution generation systems and methods | |
CN110633194B (zh) | 一种硬件资源在特定环境下的性能评估方法 | |
US20160117199A1 (en) | Computing system with thermal mechanism and method of operation thereof | |
Barve et al. | Fecbench: A holistic interference-aware approach for application performance modeling | |
CN113544647A (zh) | 云计算***中使用虚拟机系列建模的容量管理 | |
CN115269108A (zh) | 一种数据处理方法、装置及设备 | |
CN115167980A (zh) | 一种容器资源调整方法、装置、电子设备及存储介质 | |
Rahmani et al. | Kullback-Leibler distance criterion consolidation in cloud | |
US8812659B2 (en) | Feedback-based symptom and condition correlation | |
CN109992408B (zh) | 一种资源分配方法、装置、电子设备和存储介质 | |
CN113168398A (zh) | 基于遥测数据的设备的升级确定 | |
Park et al. | Queue congestion prediction for large-scale high performance computing systems using a hidden Markov model | |
CN111008767B (zh) | 互联网金融技术架构评估方法、装置、电子设备和介质 | |
CN110008098B (zh) | 评估业务流程中的节点的运行状况的方法和装置 | |
US11003565B2 (en) | Performance change predictions | |
US20090320020A1 (en) | Method and System for Optimising A Virtualisation Environment | |
CN108268363A (zh) | 用于业务容量管理的方法和设备 | |
US20240086203A1 (en) | Sizing service for cloud migration to physical machine |
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 |