一种评估分布式集群处理指定业务的能力的方法和装置与流程

文档序号:13590059阅读:189来源:国知局

本申请涉及一种评估分布式集群处理能力的方法,具体涉及一种评估分布式集群处理指定业务的能力的方法和装置。



背景技术:

对于任何采用大规模的分布式集群提供业务服务的系统来说,其所提供的业务服务的处理能力都是有限的,当达到其处理能力的最大上限值时,所述系统无法继续提供相应的业务服务。

在实际应用中,必须保障部署在分布式集群上的业务所提供的服务的高可用性,也即保障在可控的时间内所能提供相应业务的处理能力大于对所述业务的需求数量。

不同的业务发展阶段,业务的需求数量不同,其所需要的业务处理能力也不同,在业务发展的初期以及后续的扩容规划阶段,都需要对所述采用大规模的分布式集群开展相应业务服务的系统的处理相应的业务的能力进行评估。

现有的对分布式集群的相应的业务的处理能力进行评估的方式通常为通过压力测试单节点的相应业务的处理能力,再通过单节点的相应业务的处理能力与分布式集群系统内节点的数量推算整个系统的相应业务的处理能力,通过压力测试单节点的相应业务的处理能力通常有以下三种方式:

方式一,模拟请求压测法

采用类似apacheab(开源httpserver压测工具)tool客户端的调用方式模拟多线程并发请求,向被压测的目标节点发起大量请求。通过逐渐提高请求数和并发量,直到触发约束条件退出机制,由此计算单节点最大服务支撑能力。

方式二,在线引流压测法

采用类似tcpcopy方式将线上流量引流拷贝到跟生产环境一致的测试机器上。通过逐渐增加流量copy份数,直到触发测试机约束条件退出机制,由此计算单节点最大服务支撑能力。

方式三,修改权重压测法

采用在线修改lb设备(loadbalancing,有如f5big-ip、netscaler、lvs等)请求分配权重,将更多的流量转发到被压测节点上。通过逐渐提高被压测节点请求分配权重,直到触发约束条件退出机制,由此计算单节点最大服务支撑能力。

上述几种方式中“模拟请求压测法”在测试环境只能发起单一的逻辑请求,对线上复杂的请求情况无法全然覆盖;“在线引流压测法”需要构建一个完全跟线上一致的标准测试环境,包括原服务所依赖的上游和被依赖的下游服务,这样需要昂贵的压测成本,特别是在多服务实体的分布式集群环境下更是难以接受的;“修改权重压测法”首先依赖集群支持可动态调整负载均衡,对于简单的cs架构着实是好方法,但在组织架构比较分散的分布式集群中,能够分析覆盖的业务场景较少,并且实现成本相对比较高。

综上所述,现有的压力测试分布式集群的业务的处理能力的方式存在对测试环境要求高,测试成本高的问题。



技术实现要素:

本申请提供一种评估分布式集群处理指定业务的能力的方法。本申请同时提供一种评估分布式集群处理指定业务的能力的装置。

本申请提供的一种评估分布式集群处理指定业务的能力的方法,包括以下步骤:

确定用于评估分布式集群处理指定业务的能力的性能指标和制约所述性能指标的所述分布式集群的资源参数;

获取所述性能指标数据以及所述资源参数数据;

利用所述性能指标数据以及所述资源参数的数据,采用机器学习算法确定所述性能指标与所述资源参数的关系模型;

根据所述关系模型确定所述分布式集群处理所述指定业务的能力。

优选地,所述性能指标包括:

cpu利用率,内存利用率,每秒能够处理的事务的数量,每秒请求处理数量,系统负载,tcp会话连接数,磁盘使用率,磁盘输入输出利用率,每秒读写操作次数,网络流量带宽,访问量,访问用户数,在线用户数,交易创建量,交易付款量,消息推送量,关键搜索量或数据存储流量。

优选地,所述资源参数包括:

cpu利用率,内存利用率,每秒能够处理的事务的数量,每秒请求处理数量,系统负载,tcp会话连接数,磁盘使用率,磁盘输入输出利用率,每秒读写操作次数,网络流量带宽,访问量,访问用户数,在线用户数,交易创建量,交易付款量,消息推送量,关键搜索量,存储容量或数据存储流量。

优选地,所述确定用于评估分布式集群处理指定业务的能力的性能指标和制约所述性能指标的所述分布式集群的资源参数包括:

将系统每秒能够处理的事务的数量作为分布式集群处理计算密集型业务的能力的性能指标;

将cpu的利用率作为制约所述性能指标的分布式集群的资源参数。

优选地,所述确定用于评估分布式集群处理指定业务的能力的性能指标和制约所述性能指标的所述分布式集群的资源参数包括:

将存储容量作为分布式集群处理存储密集型业务的能力的性能指标;

将网络流量带宽,磁盘使用率或磁盘输入输出利用率作为制约所述性能指标的分布式集群的资源参数。

优选地,所述确定用于评估分布式集群处理指定业务的能力的性能指标和制约所述性能指标的所述分布式集群的资源参数包括:

将每秒请求处理数量作为分布式集群处理软件服务业务的能力的性能指标;

将cpu的利用率作为制约所述性能指标的分布式集群的资源参数。

优选地,所述确定用于评估分布式集群处理指定业务的能力的性能指标和制约所述性能指标的所述分布式集群的资源参数包括:

确定用于评估分布式集群处理指定业务的能力的性能指标;

根据所述用于评估分布式集群处理指定业务的能力的性能指标与所述分布式集群资源参数的相关性,确定制约所述性能指标的所述分布式集群的资源参数。

优选地,所述根据所述用于评估分布式集群处理指定业务的能力的性能指标与所述分布式集群资源参数的相关性,确定制约所述性能指标的所述分布式集群的资源参数包括:

制作所述用于评估分布式集群处理指定业务的能力的性能指标和各种所述分布式集群资源参数的数据表格;

根据所述数据表格内所述性能指标随所述分布式集群资源参数变化的规律来确定制约所述性能指标的所述分布式集群的资源参数。

优选地,所述根据所述用于评估分布式集群处理指定业务的能力的性能指标与所述分布式集群资源参数的相关性,确定制约所述性能指标的所述分布式集群的资源参数包括:

绘制所述用于评估分布式集群处理指定业务的能力的性能指标和各种所述分布式集群资源参数的散点图;

根据所述散点图中各个点的分布规律来确定制约所述性能指标的所述分布式集群的资源参数。

优选地,所述性能指标数据以及所述资源参数数据包括:

所述指定的业务繁忙时的所述性能指标数据以及所述资源参数数据。

优选地,所述利用所述性能指标数据以及所述资源参数的数据,采用机器学习算法确定所述性能指标与所述资源参数的关系模型包括:

利用所述性能指标数据以及所述资源参数的数据,采用机器学习算法,构造并确定所述性能指标随所述资源参数变化的线性回归模型。

优选地,所述利用所述性能指标数据以及所述资源参数的数据,采用机器学习算法确定所述性能指标与所述资源参数的关系模型包括:

利用所述性能指标数据以及所述资源参数的数据,采用5折交叉检验机器学习算法构造检验并确定所述性能指标随所述资源参数关系变化的线型回归模型。

本申请提供的一种评估分布式集群处理指定业务的能力的装置,包括以下单元:

指标与参数确定单元,用于确定用于评估分布式集群处理指定业务的能力的性能指标和制约所述性能指标的所述分布式集群的资源参数;

获取单元,用于获取所述性能指标数据以及所述资源参数数据;

关系模型确定单元,用于利用所述性能指标数据以及所述资源参数的数据,采用机器学习算法确定所述性能指标与所述资源参数的关系模型;

处理能力评估单元,用于根据所述关系模型确定所述分布式集群处理所述指定业务的能力。

优选地,所述指标与参数确定单元包括:

性能指标确定子单元,用于将系统每秒能够处理的事务的数量作为分布式集群处理计算密集型业务的能力的性能指标

资源参数确定子单元,用于将cpu的利用率作为制约所述性能指标的分布式集群的资源参数。

优选地,所述指标与参数确定单元包括:

性能指标确定子单元,用于将存储容量作为分布式集群处理存储密集型业务的能力的性能指标;

资源参数确定子单元,用于将网络流量带宽,磁盘使用率或磁盘输入输出利用率作为制约所述性能指标的分布式集群的资源参数。

优选地,所述指标与参数确定单元包括:

性能指标确定子单元,用于将每秒请求处理数量作为分布式集群处理软件服务业务的能力的性能指标;

资源参数确定子单元,用于将cpu的利用率作为制约所述性能指标的分布式集群的资源参数。

优选地,所述指标与参数确定单元包括:

性能指标确定子单元,用于确定用于评估分布式集群处理指定业务的能力的性能指标;

资源参数确定子单元,用于根据所述用于评估分布式集群处理指定业务的能力的性能指标与所述分布式集群资源参数的相关性,确定制约所述性能指标的所述分布式集群的资源参数。

优选地,所述资源参数确定子单元包括:

表格制作子单元,用于制作所述用于评估分布式集群处理指定业务的能力的性能指标和各种所述分布式集群资源参数的数据表格;

资源参数确定第二子单元,用于根据所述数据表格内所述性能指标随所述分布式集群资源参数变化的规律来确定制约所述性能指标的所述分布式集群的资源参数。

优选地,所述资源参数确定子单元包括:

散点图绘制子单元,用于绘制所述用于评估分布式集群处理指定业务的能力的性能指标和各种所述分布式集群资源参数的散点图;

资源参数确定第二子单元,用于根据所述散点图中各个点的分布规律来确定制约所述性能指标的所述分布式集群的资源参数。

优选地,所述关系模型确定单元具体用于利用所述性能指标数据以及所述资源参数的数据,采用机器学习算法,构造并确定所述性能指标随所述资源参数变化的线性回归模型。

优选地,所述关系模型确定单元具体用于利用所述性能指标数据以及所述资源参数的数据,采用5折交叉检验机器学习算法构造检验并确定所述性能指标随所述资源参数关系变化的线型回归模型。

与现有技术相比,本申请具有以下优点:本申请提供的技术方案利用在线运行的分布式集群系统的相应的性能指标和资源参数数据,采用机器学习算法确定表征所述分布式集群系统的指定业务的处理能力的性能指标与相应的资源参数的关系,再利用所述关系确定表征所述分布式集群系统处理所述指定的业务的处理能力。

本申请提供的技术方案能够避免对在线运行的业务可能造成的影响,能够基于实际的业务数据对在线运行的分布式集群相应的业务处理能力进行评估,无需额外地调整在线运行的分布式集群业务系统的配置或额外搭建测试的硬件环境。能够避免影响在线运行的分布式集群的业务服务,达到降低评估成本的效果。

附图说明

图1为本申请第一实施例一种本申请涉及一种评估分布式集群处理指定业务的能力的方法的流程示意图;

图2为本申请第一实施例一种本申请涉及一种评估分布式集群处理指定业务的能力的qps-mem%散点图;

图3为本申请第一实施例一种本申请涉及一种评估分布式集群处理指定业务的能力的qps-cpu%散点图;

图4为本申请第二实施例一种本申请涉及一种评估分布式集群处理指定业务的能力的装置的结构框图;

具体实施方式

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

本申请第一实施例提供评估分布式集群处理指定业务的能力的方法,其流程示意图如图1所示,该实施例包括以下步骤:

步骤s101,确定用于评估分布式集群处理指定业务的能力的性能指标和制约所述性能指标的所述分布式集群的资源参数。

对于大规模分布式集群来说,部署于其上的应用系统所提供的业务服务可能不止一种,为了评估部署于大规模分布式集群上的相应的业务服务的处理能力,要指定需要评估的相应的业务。表征分布式集群处理不同的业务的能力的性能指标也不相同。需要根据所述业务确定相应的性能指标来评估所述分布式集群处理所述业务的能力。对于指定的业务,首先要确定用于评估这一分布式集群处理相应业务的能力的性能指标。

在分布式集群上部署的业务应用系统,通常不仅仅提供业务服务,还会在运行时产生大量不同的与其提供的业务服务相关的指标数据,这些指标数据周期性地产生并被保存到相应的日志文件或内存中供系统的维护人员分析系统的性能或排查故障等使用。

除此之外,分布式集群的其他软件也会周期性地产生很多分布式集群软,硬件相关的性能指标或资源参数数据。这些数据也会被保存在相应的日志文件或内存中供系统的维护人员分析系统的性能或排查故障等使用。

本步骤从这些能够被保存下来的性能指标当中选择确定用于评估这一分布式集群处理相应业务的能力的性能指标和制约该性能指标的分布式资源参数。

首先确定用于评估部署于这一分布式集群处理相应业务的能力的性能指标。

由于表征所述分布式集群处理不同的业务的能力的性能指标不同,因此需要根据相应业务的特点,有针对性地确定一个最能够代表所述分布式集群处理所述业务的能力的性能指标。也即根据业务本身的特点或对所述业务的关注点的需要,确定相应的性能指标。

通常能够用于评估分布式集群处理某一业务的能力的性能指标包括以下这些分布式集群及其上部署的相应的业务应用软件产生的指标:

cpu利用率,内存利用率,每秒能够处理的事务的数量,每秒请求处理数量,系统负载,tcp会话连接数,磁盘使用率,磁盘输入输出利用率,每秒读写操作次数,网络流量带宽,访问量,访问用户数,在线用户数,交易创建量,交易付款量,消息推送量,关键搜索量,存储容量或数据存储流量等。

可以针对所述指定的业务选取相应的性能指标,对于简单的业务可以选取一个最具有代表性的性能指标来表征所述分布式集群处理所述指定的业务的能力,对于复杂的业务,可以相应的选取多个性能指标表征所述分布式集群处理所述业务的能力。

对于密集型计算业务集群,如提供大量数学运算服务的分布式集群,可以将系统每秒能够处理的事务的数量作为其性能指标;对于存储密集型存储业务集群,如提供网盘存储业务的分布式集群,由于其存储容量代表了其提供的存储服务的能力,因此可以将其存储容量作为其性能指标。

对于存储的效率比较敏感的情况也可以将磁盘使用率或磁盘输入输出利用率作为其性能指标,具体情况可以根据实际应用的场景以及需要关注的焦点来相应的调整。

对于提供软件服务(saas)的分布式集群,由于软件服务的特性,能够为越多的用户请求提供相应的软件服务表明该分布式集群上部署的软件服务应用处理能力越大,因此,本实施例具体选择分布式集群的上层架构fastcgi(请求响应处理模块)的每秒请求处理数量作为所述分布式集群处理软件服务业务的能力的性能指标。

除了需要确定用于评估分布式集群处理指定业务的能力的性能指标外,还需要确定所述分布式集群的针对所述分布式集群的所述业务的所述性能指标的最核心的制约参数。

任何分布式集群系统,都需要消耗自身的资源才能够提供相应的业务服务。如,cpu资源,内存资源,网络资源等等。由于资源的有限性,通常情况下,分布式集群系统处理某种业务的能力不可能是无限的,而是受限于分布式集群的资源。

对于不同的业务的不同的性能指标,分布式集群需要消耗的资源种类和数量都有所不同。本步骤中根据所确定的表征所述分布式集群处理指定的业务的能力的性能指标,确定最主要的制约所述性能指标的分布式集群资源参数。

通常情况下,分布式集群产生的或部署于其上的业务应用所产生的以下参数有可能限制或制约所述分布式集群处理相应的业务的能力:

cpu利用率,内存利用率,每秒能够处理的事务的数量,每秒请求处理数量,系统负载,tcp会话连接数,磁盘使用率,磁盘输入输出利用率,每秒读写操作次数,网络流量带宽,访问量,访问用户数,在线用户数,交易创建量,交易付款量,消息推送量,关键搜索量,存储容量或数据存储流量等。

与表征分布式集群处理相应的业务的能力的性能指标相对应地,可以根据实际情况选取一个或多个制约表征所述分布式集群处理所述指定的业务的能力的性能指标的相应的分布式集群的资源参数。

对于计算密集型业务集群,如提供大量数学运算服务的分布式集群,当把系统每秒能够处理的事务的数量作为其性能指标时,可以将所述分布式集群的cpu的利用率作为制约所述性能指标的分布式集群的资源参数。

对于存储密集型存储业务集群,如提供网盘存储业务的分布式集群,当把其存储容量作为其性能指标时,除了处处设备的总体容量外,分布式集群的很多其他因素也会影响甚至制约存储业务提供的服务,例如,网络流量带宽被完全占用后,即便存储设备仍然有空间可以提供存储,但整个系统也无法提供相应的服务;有或者当存储设备,磁盘的输入输出利用率达到100%时,也无法提供哦你给相应的存储业务服务。

这些情况下,可以将网络流量带宽,磁盘使用率或磁盘输入输出利用率作为制约所述性能指标的分布式集群的资源参数。具体情况可以根据分布式集群的实际配置情况和具体用户行为的特点选取相应的资源参数。

对于提供软件服务(saas)的分布式集群,当把分布式集群的上层架构fastcgi(请求响应处理模块)的每秒请求处理数量(qps)作为所述分布式集群处理软件服务业务的性能指标时,越多的服务请求数量会导致越多的计算量,内存容量的占用和网络流量等,可以针对不同的情况选择不同的资源参数,对于内存容量较为敏感的情况,可以选择内存利用率作为制约所述性能指标的所述分布式集群的资源参数;而对于内存相对比较充足,而cpu数量或处理能力比较敏感的情况,本实施例中优选地将所述分布式集群的cpu的利用率(cpu%)作为制约所述性能指标的分布式集群的资源参数。

对于无法通过简单定性分析所确定的表征所述分布式集群处理指定的业务的能力的性能指标的特点就能选取出最主要的制约所述性能指标的分布式集群资源参数的较为复杂的情况,可以粗略地定量分析分布式集群各个资源参数与所述性能指标的相关性来确定制约所述性能指标的分布式资源参数。

所述相关性是指,当所述性能指标的值在一定范围内变化时,所述资源参数的值也会在一定的范围内变化,且在二者变化的总体趋势是相对稳定的。

粗略的定量分析可以采用制作所述性能指标和各种分布式资源的资源参数的数据对表格的形式或绘制所述性能指标和各种分布式资源的资源参数的数据对的散点图的形式,使得所述性能指标与分布式集群各个资源参数之间的关系更加直观并易于进行粗略的判断。

例如,对于提供软件服务(saas)的分布式集群,当把分布式集群的上层架构fastcgi(请求响应处理模块)的每秒请求处理数量(qps)作为所述分布式集群处理软件服务业务的性能指标时,如果一时无法确定cpu的利用率(cpu%)与内存的大小中,谁才是最主要的制约所述性能指标每秒请求处理数量(qps)的因素时,可以通过制作下述该分布式集群的性能指标每秒请求处理数量(qps),cpu的利用率(cpu%)和内存的利用率(mem%)数据表格来帮助进行分析判断:

从上述表格中的数据可以看出,尽管每秒请求处理数量(qps)的值在5500至8000间变化,内存的利用率(mem%)都集中在0.25附近,可以认为内存的利用率(mem%)不是制约每秒请求处理数量(qps)的分布式集群的资源参数。

而随着每秒请求处理数量(qps)的值在5500至8000间变化,cpu的利用率(cpu%)的值也在0.4-0.7之间变化,并且呈现一定的规律性:当cpu的利用率(cpu%)的值总体从小变化到大时,每秒请求处理数量(qps)的值总体上讲也是从小变化到大。因此,cpu的利用率(cpu%)与制约每秒请求处理数量(qps)是正向相关的,可以认为相比内存的利用率(mem%),cpu的利用率(cpu%)为制约每秒请求处理数量(qps)的分布式集群的资源参数。

除了制作数据表格,还可以利用性能指标每秒请求处理数量(qps),cpu的利用率(cpu%)和内存的利用率(mem%)数据绘制相应的散点图来判断。

如根据上述表格所包含的内存的利用率(mem%)数据与每秒请求处理数量(qps)数据绘制的qps-mem%散点图如图2所示,该散点图中各个点分布在竖直狭长的区域内,点的横坐标的变化范围很小,并不影响点的纵坐标的变化。很容易判断出内存的利用率(mem%)不是制约每秒请求处理数量(qps)的分布式集群的资源参数。

如根据上述表格内的cpu的利用率(cpu%)数据与每秒请求处理数量(qps)数据绘制的qps-cpu%散点图如图3所示,该散点图内,所有的点分布在一个倾斜的狭长区域内,呈现出的规律为随着点的横坐标cpu的利用率(cpu%)的值的增加,点的位置越高(纵坐标值越大)的趋势。很容易推测cpu的利用率(cpu%)数据与每秒请求处理数量(qps)是正向线型相关的。从而判断出相比内存的利用率(mem%),cpu的利用率(cpu%)为制约每秒请求处理数量(qps)的分布式集群的资源参数。也即应该将cpu的利用率(cpu%)确定为制约每秒请求处理数量(qps)应的分布式集群资源参数。

s102,获取所述性能指标数据以及所述资源参数数据。

在前面的步骤中已经确定了评估分布式集群处理指定业务的能力的相应的性能指标和制约所述性能指标的所述分布式集群的资源参数,本步骤获取相应的性能指标的数据和所述分布式集群的资源参数数据。

本申请提供的评估处理指定业务的能力的方法的后续步骤中采用机器学习算法建模,因此获取的性能指标和资源参数的数据越多,后续步骤中所建立的模型就能够越准确地反映所确定的性能指标和资源参数的相互关系,最终得出的所述分布式集群处理所述业务的能力越准确。

除了获取尽可能多地获取数据外,还应该根据所述业务提供的服务的特点来选择相应的数据。对于所述业务所提供的服务在不同时间段的需求量不同的情况,应该尽量获取需求量比较多的业务繁忙的时间段的性能指标数据和资源参数数据,后续步骤中利用所述业务繁忙的时间段的数据进行机器学习算法建模能够时的建立的模型更加准确地反映所述性能指标和所述资源参数的关系。

如上一步骤中所述,分布式集群上的相应软件周期性地产生业务相关的性能指标数据和相应的资源参数数据,所述数据大多被存储在相应的日志文件中或内存中,本步骤可以通过获取所述指定的业务繁忙时的时间段的相应的日志文件或通过相应的内存接口程序获取所述指定的业务繁忙时的时间段的所述的性能指标数据和资源参数数据。

对于需要获取分布于在多个不同节点上而日志文件又较多的情况,可以采取各种分布式开源解决方案收集所述日子并进行相应的存储以便后续步骤使用。

例如,一个提供软件服务(saas)的分布式集群,包括有25台节点设备,每台节点设备为一台计算机,节点设备间通过网络互相连接,每台节点设备上每隔15s产生一次每秒请求处理数量(qps)数据和资源参数cpu的利用率(cpu%)数据。每天9:00-24:00为所述软件服务业务繁忙的时间段。

本步骤从其中一台节点设备获取包含每天9:00-24:00该节点设备的每秒请求处理数量(qps)数据和资源参数cpu的利用率(cpu%)数据的连续5天的相应的日志文件,从相应的日志文件中提取每秒请求处理数量(qps)数据和资源参数cpu的利用率(cpu%)数据,将相同时间的每秒请求处理数量(qps)数据和资源参数cpu的利用率(cpu%)数据作为数据对存储到内存或数据文件中以供后续步骤使用。例如,下表所示的数据片段为一个节点设备2016年6月1日9点10分至9点15分的cpu的利用率(cpu%)数据与相应的每秒请求处理数量(qps)数据:

步骤s103,利用所述性能指标数据以及所述资源参数的数据,采用机器学习算法确定所述性能指标与所述资源参数的关系模型。

获取到所述的性能指标数据和资源参数数据后,利用这些数据,采用机器学习算法确定所述性能指标与所述资源参数的关系模型的方法可以有多种,如采用计算机学习算法构造计算机神经网络模型等,采用计算机神经网络模型能够针对多个性能指标和多个资源参数综合建模,宜于用在采用多个性能指标表征分布式集群处理所述指定业务的能力,多个资源参数制约所述多个性能指标的复杂情况下。

对于本实施例中前面步骤中确定了每秒请求处理数量(qps)作为性能指标和cpu的利用率(cpu%)作为制约所述性能指标的资源参数的情况,本步骤优选地提供,利用所述性能指标数据以及所述资源参数的数据,采用机器学习算法,构造并确定所述性能指标与所述资源参数的关系的线性回归模型。对于单一性能指标与单一资源参数的情况,该方式计算相对简单,能够快速构造模型。

为了尽量使得构造的模型准确,还可以对其进行验证评估,为了保持验证评估的公正性,可以采用多折交叉检验的方法。本实施例优选采用5折交叉检验机器学习算法构造检验并确定所述性能指标随所述资源参数关系变化的线型回归模型。

将获取到的包含所述分布式集群的每秒请求处理数量(qps)数据与cpu的利用率(cpu%)数据对的样本数据分成5份,将其中1份样本数据作为测试集样本数据,将其余4份样本数据作为训练集样本数据训练构造的线型回归模型得到一个每秒请求处理数量(qps)随cpu的利用率(cpu%)变化关系的线性回归模型。

构造线型回归模型:

hθ(x)=θ0+θ1x;

其中因变量hθ(x)为表征所述分布式集群处理所述指定的软件服务业务的能力的性能指标每秒请求处理数量(qps);

自变量x为制约所述性能指标的分布式集群的资源参数cpu的利用率(cpu%),θ0和θ1分别为需要确定的回归系数。

设置初始化的θ0和θ1的值,将训练集样本数据中的每个cpu的利用率(cpu%)数据代入所述模型,得到与所述θ0和θ1以及所述cpu的利用率(cpu%)数据相应的每秒请求处理数量(qps)的计算值hθ(x)。

令代价函数

其中j(θ0,θ1)表示所述θ0和θ1的情况下的代价函数,

m为机器学习算法所利用的训练集样本数据的样本数,

hθ(xi)为按照所述回归系数(θ0和θ1)所对应的每秒请求处理数量(qps)和cpu的利用率(cpu%)关系的线性回归模型hθ(x)=θ0+θ1x,利用训练集样本数据中的第i个cpu的利用率(cpu%)数据计算得到的每秒请求处理数量(qps)的计算值,

yi为训练集样本数据中的训练集样本数据中与第i个cpu的利用率(cpu%)数据相对应的每秒请求处理数量(qps)的实际值。

判断是否满足结束本次训练线型回归模型的条件,所述结束本次训练线型回归模型的条件包括:

所述根据代价函数j(θ0,θ1)的值与设定的阈值的差值在设定的可接受范围内,或调整θ0和θ1的大小的次数达到了设定阈值等。

若不满足上述的结束本次训练线型回归模型的条件,则分别调整θ0和θ1的大小,再次将训练集样本数据中的每个cpu的利用率(cpu%)数据代入所述模型,得到与调整后的θ0和θ1以及所述cpu的利用率(cpu%)数据相对应的每秒请求处理数量(qps)的计算值hθ(x)并计算所述θ0和θ1情况下的代价函数j(θ0,θ1)的值后,再次判断是否满足结束本次训练的条件。依此类推,直至满足结束本次训练所述线型回归模型的条件,结束本次训练。

进行一次训练,得到一组回归系数(θ0和θ1)所对应的每秒请求处理数量(qps)和cpu的利用率(cpu%)关系的线性回归模型后,利用训练集样本数据计算训练集样本数据所对应的拟合优度并利用测试集样本数据计算测试集样本数据所对应的拟合优度指标。

所述拟合优度可以采用下述方式得到:

令总体平方和为:

回归平方和为:

残差平方和为:

拟和优度为:

其中m为样本数据的数量;

yi表示样本数据中第i个每秒请求处理数量(qps)的实际值;

表示样本数据中所有每秒请求处理数量(qps)的实际值的算术平均值;

表示按照所述回归系数(θ0和θ1)所对应的每秒请求处理数量(qps)和cpu的利用率(cpu%)关系的线性回归模型hθ(x)=θ0+θ1x,利用样本数据中第i个cpu的利用率(cpu%)数据计算得到的每秒请求处理数量(qps)的计算值。

分别利用训练集样本数据和测试集样本数据按照以上公式计算得到本次训练所得到的所述回归系数(θ0和θ1)所对应的每秒请求处理数量(qps)和cpu的利用率(cpu%)关系的线性回归模型hθ(x)=θ0+θ1x的训练集样本数据所对应的拟合优度和测试集样本数据所对应的拟合优度。

至此完成一次训练和拟合优度的计算。

将前一次训练集样本数据中没有做过测试集样本数据的一份样本数据作为下一次训练和拟合优度的计算的测试集样本数据,其余4份样本数据作为下一次训练和拟合优度的计算的训练集样本数据,再次进行训练和拟合优度指标的计算。依此类推,直到所有5份样本数据都作为测试集样本数据进行过相应的训练和拟合优度的计算,即一共进行5次上述的训练和拟合优度的计算。

利用5次训练后计算得到的5个训练集样本数据的拟合优度和5个测试集拟合优度,分别累加求和再平均计算得到5次平均训练集样本数据的拟合优度和5次平均测试集样本数据的拟合优度。

判断所述计算得到的5次平均训练集样本数据的拟合优度与5次平均测试集样本数据的拟合优度是否满足下述两个条件:

条件一,所述5次平均训练集样本数据的拟合优度与5次平均测试集样本数据的拟合优度的差值在预先设定的数值范围内;

条件二,所述5次平均训练集样本数据的拟合优度和5次平均测试集样本数据的拟合优度都分别超过预先设定的各自的阈值。

当满足上述两个条件时,利用前一步骤获取到的包含所述分布式集群样的每秒请求处理数量(qps)数据和相应的cpu的利用率(cpu%)数据对的所有的样本数据,再次采用机器学习算法训练所述设定的线型回归模型,将这次训练得到的回归系数(θ0和θ1)所对应的线型回归模型确定为每秒请求处理数量(qps)和cpu的利用率(cpu%)关系的线性回归模型。

例如对于前面步骤中所述包含25台节点设备的,提供软件服务(saas)的分布式集群,已经确定了性能指标为每秒请求处理数量(qps),资源参数为cpu的利用率(cpu%)并且获取了连续5天业务繁忙时间段9:00-24:00的所述每秒请求处理数量(qps)数据和cpu的利用率(cpu%)数据,利用所述数据,进行上述5此训练和拟合优度计算后,得到5次平均训练集样本数据的拟合优度和5次平均测试集样本数据的拟合优度分别为0.76669和0.768。并且所述拟合优度都超过了设定的阈值。再次利用所有的样本数据作为训练集样本数据,再次采用机器学习算法训练设定的现行回归模型,得到回归系数(θ0和θ1)分别为2985.93931917和7285.05289461。

最终确定所述性能指标(每秒请求处理数量(qps))与所述资源参数(cpu的利用率(cpu%))的关系模型为:

y=2985.93931917+7285.05289461x

其中y代表每秒请求处理数量(qps),x代表cpu的利用率(cpu%)。

步骤s104,根据所述关系模型确定所述分布式集群处理所述指定业务的能力。

根据前面步骤中确定的所述性能指标与所述资源参数的关系模型,当所述资源参数达到其取值的上限值时,能够计算得到所述性能指标的最大值。

当利用一个节点设备的所述性能指标的数据和所述制约所述性能指标的分布式集群资源参数数据确定所述性能指标与所述资源参数的关系模型时,该所述性能指标的最大值就代表了所述分布式集群中一个节点设备处理所述指定的业务的能力的上限。所述性能指标的最大值乘以所述分布式集群中的节点数量得到的乘积值就代表了所述分布式集群处理所述指定的业务的能力的上限。

一旦知道了所述分布式集群处理所述指定的业务的能力的上限,还能够根据所述上限和当前所述分布式集群处理所述指定的业务的能力计算得到当前所述分布式就能处理所述指定的业务的能力水平,所述能力水平能够为系统的资源和容量调整如增加,扩大或减少提供依据。

对于前面的步骤中包含25台节点设备,提供软件服务(saas)的分布式集群,已经确定了性能指标为每秒请求处理数量(qps),资源参数为cpu的利用率(cpu%)并且根据一台节点设备的每秒请求处理数量(qps)数据和cpu的利用率(cpu%)数据确定了二者的关系模型为:y=2985.93931917+7285.05289461x的情况,当cpu的利用率(cpu%)达到100%时,可以得到所述节点设备处理所述软件服务(saas)的上限值为每秒10270.9922个请求处理,在乘以所述集群内节点设备的数量25,就能够确定所述分布式集群处理所述软件服务(saas)的上限为10270.9922×25=256774.805个请求处理。

对于上述根据上述提供软件服务(saas)的分布式集群,可以根据其当前的整体每秒请求处理数量(qps)值与所述上限值的比值来决定是否需要对所述提供软件服务(saas)分布式集群进行扩容或增加相应的cpu资源等。当所述比值超过设定的阈值时,表明需要对所述分布式集群进行扩容或增加/更新相应的软硬件模块。

以上为本申请的一种评估分布式集群处理指定业务的能力的方法的实施例,该方法能够基于实际的业务数据对在线运行的分布式集群相应的业务处理能力进行评估,无需额外地调整在线运行的分布式集群业务系统的配置或额外搭建测试的硬件环境。能够避免影响在线运行的分布式集群的业务服务,达到降低评估成本的效果。

相应的,本申请的第二实施例提供一种评估分布式集群处理指定业务的能力的装置,其结构框图如图4所示,该装置包括以下单元:指标与参数确定单元u201,获取单元u202,关系模型确定单元u203和处理能力评估单元u204。

所述指标与参数确定单元u201,用于确定用于评估分布式集群处理指定业务的能力的性能指标和制约所述性能指标的所述分布式集群的资源参数。

优选地,所述指标与参数确定单元u201可以包括:性能指标确定子单元和资源参数确定子单元。

当所述性能指标确定子单元,用于将系统每秒能够处理的事务的数量作为分布式集群处理计算密集型业务的能力的性能指标时,所述资源参数确定子单元,用于将cpu的利用率作为制约所述性能指标的分布式集群的资源参数。

当所述性能指标确定子单元,用于将存储容量作为分布式集群处理存储密集型业务的能力的性能指标时,所述资源参数确定单元,用于将网络流量带宽,磁盘使用率或磁盘输入输出利用率作为制约所述性能指标的分布式集群的资源参数。

当所述性能指标确定子单元,用于将每秒请求处理数量作为分布式集群处理软件服务业务的能力的性能指标时,所述资源参数确定子单元,用于将cpu的利用率作为制约所述性能指标的分布式集群的资源参数。

当所述性能指标确定子单元,用于确定用于评估分布式集群处理指定业务的能力的性能指标时,所述资源参数确定子单元,用于根据所述用于评估分布式集群处理指定业务的能力的性能指标与所述分布式集群资源参数的相关性,确定制约所述性能指标的所述分布式集群的资源参数。

优选地,所述资源参数确定子单元可以包括表格制作子单元和资源参数确定第二子单元,或者包括散点图绘制子单元和资源参数确定第二子单元。

当所述资源参数确定子单元可以包括表格制作子单元和资源参数确定第二子单元时,所述表格制作子单元,用于制作所述用于评估分布式集群处理指定业务的能力的性能指标和各种所述分布式集群资源参数的数据表格;

所述资源参数确定第二子单元,用于根据所述数据表格内所述性能指标随所述分布式集群资源参数变化的规律来确定制约所述性能指标的所述分布式集群的资源参数。

当所述资源参数确定子单元包括散点图绘制子单元和资源参数确定第二子单元时,所述散点图绘制子单元用于绘制所述用于评估分布式集群处理指定业务的能力的性能指标和各种所述分布式集群资源参数的散点图。所述资源参数确定第二子单元,用于根据所述散点图中各个点的分布规律来确定制约所述性能指标的所述分布式集群的资源参数。

所述获取单元u202,用于获取所述性能指标数据以及所述资源参数数据。

所述关系模型确定单元u203,用于利用所述性能指标数据以及所述资源参数的数据,采用机器学习算法确定所述性能指标与所述资源参数的关系模型。

优选地,所述关系模型确定单元u203能够具体用于利用所述性能指标数据以及所述资源参数的数据,采用机器学习算法,构造并确定所述性能指标随所述资源参数变化的线性回归模型。或者所述关系模型确定单元u203能够具体用于利用所述性能指标数据以及所述资源参数的数据,采用5折交叉检验机器学习算法构造检验并确定所述性能指标随所述资源参数关系变化的线型回归模型。

所述处理能力评估单元u204,用于根据所述关系模型确定所述分布式集群处理所述指定业务的能力。

本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

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