一种系统健康评测方法及装置转让专利

申请号 : CN201610260874.X

文献号 : CN105912454B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张洁柯庄上林李顺安石书鹃陈炳宇

申请人 : 网易(杭州)网络有限公司

摘要 :

本发明公开了一种系统健康评测方法,包括如下步骤:监测位于待评测系统内的至少一个服务器的运行参数,并获取每个所述运行参数在当前采样时刻的测量值;其中,所述运行参数根据所述待评测系统运行的业务决定;根据每个所述运行参数在当前采样时刻的测量值、为每个所述运行参数预先配置的评价公式及评价参数,计算每个所述运行参数在当前采样时刻的评价分;对在当前采样时刻计算得到的所有运行参数的评价分进行连乘运算,生成所述待评测系统在当前采样时刻的健康评分。本发明还提供一种系统健康评测装置,由于可根据具有运行的业务服务来获得健康评分,因而可以更灵活、直观及有针对性的获得系统的健康状态。

权利要求 :

1.一种系统健康评测方法,其特征在于,包括如下步骤:

监测位于待评测系统内的至少一个服务器的运行参数,并获取被监测的每个所述运行参数在当前采样时刻的测量值;其中,所述运行参数根据所述待评测系统运行的业务决定;

根据每个所述运行参数在当前采样时刻的测量值、为每个所述运行参数预先配置的评价公式及评价参数,计算每个所述运行参数在当前采样时刻的评价分;其中,所述运行参数的评价参数包括敏感参数Ak及补偿参数Bk,且满足 其中,Nk表示为所述运行参数预先设定的标准值;

对在当前采样时刻计算得到的所有运行参数的评价分进行连乘运算,生成所述待评测系统在当前采样时刻的健康评分。

2.根据权利要求1所述的系统健康评测方法,其特征在于,所述待评测系统为web系统,所述web系统的服务器包括Web前端服务器、数据库服务器及数据缓存服务器;其中,所述Web前端服务器的运行参数包括服务平均响应时间及异常HTTP服务器状态码及其数量;所述数据库服务器的运行参数包括平均连接数及执行缓慢的数据库操作平均执行时间;所述数据缓存服务器的运行参数包括写操作的平均响应时间及读操作的平均响应时间。

3.根据权利要求1所述的系统健康评测方法,其特征在于,所述根据每个所述运行参数在当前采样时刻的测量值、为每个所述运行参数预先配置的评价公式及评价参数,计算每个所述运行参数在当前采样时刻的评价分,具体为:将所述当前采样时刻的测量值Mk、敏感参数Ak及补偿参数Bk代入预先配置的评价公式中,计算得到所述运行参数在当前采样时刻的评价分。

4.根据权利要求1所述的系统健康评测方法,其特征在于,

在根据每个所述运行参数在当前采样时刻的测量值、为每个所述运行参数预先配置的评价公式及评价参数,计算每个所述运行参数在当前采样时刻的评价分之后,还包括:根据为每个所述运行参数配置的权重参数Ck,计算所述运行参数的评价分的Ck次幂,以对所述运行参数的评价分进行加权修正。

5.根据权利要求1所述的系统健康评测方法,其特征在于,在所述对在当前采样时刻计算得到的所有运行参数的评价分进行连乘运算,生成所述待评测系统在当前采样时刻的健康评分之后,还包括:将所述当前采样时刻的健康评分乘以预置的基准值,以对所述健康评分进行校准。

6.根据权利要求5所述的系统健康评测方法,其特征在于,在所述将所述当前采样时刻的健康评分乘以预置的基准值,以对所述健康评分进行校准之后,还包括:根据预置的波动控制参数Ω,控制所述健康评分在所述基准值的预定范围内波动;其中,Ω为小于1的正数。

7.根据权利要求1至6任意一项所述的系统健康评测方法,其特征在于,在所述对在当前采样时刻计算得到的所有运行参数的评价分进行连乘运算,生成所述待评测系统在当前采样时刻的健康评分之后,还包括:获取所述待评测系统在当前采样时刻及位于当前采样时刻的前n-1个采样时刻的健康评分及为这n个采样时刻预先配置的权重值,并基于所述n个权重值及n个采样时刻的健康评分进行加权平均后,生成加权后的健康评分。

8.根据权利要求1所述的系统健康评测方法,其特征在于,还包括:

根据所述健康评分生成所述待评测系统在当前采样时刻的健康状态,并显示所述健康评分及健康状态。

9.一种系统健康评测装置,其特征在于,包括:

监测单元,用于监测位于待评测系统内的至少一个服务器的运行参数,并获取被监测的每个所述运行参数在当前采样时刻的测量值;其中,所述运行参数根据所述待评测系统运行的业务决定;

评价分计算单元,用于根据每个所述运行参数在当前采样时刻的测量值、为每个所述运行参数预先配置的评价公式及评价参数,计算每个所述运行参数在当前采样时刻的评价分;其中,所述运行参数的评价参数包括敏感参数Ak及补偿参数Bk,且满足 其中,Nk表示为所述运行参数预先设定的标准值;

健康评分计算单元,用于对在当前采样时刻计算得到的所有运行参数的评价分进行连乘运算,生成所述待评测系统在当前采样时刻的健康评分。

10.根据权利要求9所述的系统健康评测装置,其特征在于,所述待评测系统为web系统,所述web系统的服务器包括Web前端服务器、数据库服务器及数据缓存服务器;其中,所述Web前端服务器的运行参数包括服务平均响应时间及异常HTTP服务器状态码及其数量;

所述数据库服务器的运行参数包括平均连接数及执行缓慢的数据库操作平均执行时间;所述数据缓存服务器的运行参数包括写操作的平均响应时间及读操作的平均响应时间。

11.根据权利要求9所述的系统健康评测装置,其特征在于,所述评价分计算单元具体用于,将所述当前采样时刻的测量值Mk、敏感参数Ak及补偿参数Bk代入预先配置的评价公式中,计算得到所述运行参数在当前采样时刻的评价分。

12.根据权利要求9所述的系统健康评测装置,其特征在于,所述系统健康评测装置还包括:加权修正单元,用于根据为每个所述运行参数分配的权重参数Ck,并计算所述运行参数的评价分的Ck次幂,以对所述运行参数的评价分进行加权修正。

13.根据权利要求9所述的系统健康评测装置,其特征在于,所述系统健康评测装置还包括:校准单元,用于将所述当前采样时刻的健康评分乘以预置的基准值,以对所述健康评分进行校准。

14.根据权利要求13所述的系统健康评测装置,其特征在于,所述系统健康评测装置还包括:波动控制单元,用于根据预置的波动控制参数Ω,控制所述健康评分在所述基准值的预定范围内波动;其中,Ω为小于1的正数。

15.根据权利要求9至14任意一项所述的系统健康评测装置,其特征在于,所述系统健康评测装置还包括:加权平均单元,用于获取所述待评测系统在当前采样时刻及位于当前采样时刻的前n-

1个采样时刻的健康评分及为这n个采样时刻预先分配的权重值,并基于所述n个权重值及n个采样时刻的健康评分进行加权平均后,生成加权后的健康评分。

16.根据权利要求9所述的系统健康评测装置,其特征在于,所述系统健康评测装置还包括:健康状态显示单元,用于根据所述健康评分生成所述待评测系统在当前采样时刻的健康状态,并显示所述健康评分及所述健康状态。

说明书 :

一种系统健康评测方法及装置

技术领域

[0001] 本发明涉及系统测评领域,尤其涉及一种系统健康评测方法及装置。

背景技术

[0002] 对于大型的Web系统来说,业务流程的复杂化、多样化和访问量的持续增加,使得Web服务的反应越来越慢,对系统资源的不合理应用也使得系统在某些时间点出现“抖动”,严重影响系统的稳定性和用户的使用体验。因此,如何度量复杂多样化的Web系统的稳定性,快速的定位其在压力持续期的不稳定因素,是提高Web系统健壮性和优化用户访问体验的前提。同时,准确的对Web系统的服务进行评估也有助于找出Web系统的性能瓶颈,提高Web服务的响应速度。
[0003] 在现有技术中,用户总希望有一种简单、高效的度量标准,来量化评价服务器系统,以便作为选型的依据。但实际上,服务器的系统性能很难用一两种指标来衡量,包括事务处理性能委员会(Transaction Processing Performance Council,TPC)、系统性能评估测试(Standard Performance Evaluation Corporation,SPEC)、标准应用基准测试(Standard Application Benchmark,SAP)销售与分销模块(Sales&Distribution Module,SD)、线性系统软件包(Linear system package,Linpack)和高性能计算与通信(High Performance Computing and Communications,HPCC)在内的众多服务器评测体系,从处理器性能、服务器系统性能、商业应用性能直到高性能计算机的性能,都给出了一个量化的评价指标。
[0004] 典型如TPC服务器评测体系的评判方法如下所示:
[0005] TPC标准一般是在一个服务器上安装一个数据库,然后在数据库模拟一些标准化操作,最后会得到tpm(transaction per minute,数据库每分钟处理事务数)或tps(transaction per second,数据库每秒钟处理事务数)这两种统计结果。TPC标准就是用这两种统计结果来评价服务器的性能好坏。
[0006] 典型如SPEC服务器评测体系的评判方法如下所示:
[0007] SPEC服务器应用性能测试是一个全面衡量Web应用中java企业应用服务器性能的基础测试。在这个基准测试中,系统模拟一个现代化企业的电子化业务工作,如客户定购查询、产品生产制造管理、供应商和服务器提供商管理等,给系统以巨大的负载,以全面测试运行典型java业务应用的服务器性能水平。
[0008] 典型如Linpack服务器评测体系的评判方法如下所示:
[0009] Linpack是业界应用最广的的用于测试高性能计算机系统浮点性能的标准,在目标集群中运行Linpack测试程序,测试结果以浮点运算每秒(Flops)给出。其中:
[0010] MFlops=每秒一百万次(10^6)浮点运算
[0011] GFlops=每秒十亿次(10^9)浮点运算
[0012] TFlops=每秒一万亿次(10^12)浮点运算
[0013] PFlops=每秒一千万亿次(10^15)浮点运算

发明内容

[0014] 从上述可知,目前评测体系主要核心在于标准化的估测服务器的性能,其根本目的是对各类不同的服务器硬件性能给出一个归一化的一致描述,本质是各类服务器提供商为其提供的服务器做一个综合性的可相互对比的参考分数,方便服务器采购人员作为其采购服务器的定量参考。而且各类评测标准都是采样了统一上层服务假设,如每秒数据库可执行事务数,每秒服务器浮点运算数量等。简而言之,现有的服务器评测标准,并不针对具体的业务服务给出评分标准。从另一个方面说,就是现有的评分标准,只适合服务器的采购人员对服务器的性能进行评估,而不适用于系统的运营人员在服务器上具体运营的业务进行评分,从而在运行具体业务服务时,运营人员无法灵活、直观、准确的得知当前系统服务器的健康状态。
[0015] 针对上述问题,本发明的目的在于提供一种系统健康评测方法,包括如下步骤:
[0016] 对位于待评测系统内的至少一个服务器的运行参数进行监测,并获取被监测的每个所述运行参数在当前采样时刻的测量值;其中,所述运行参数根据所述待评测系统运行的业务决定;
[0017] 根据每个所述运行参数在当前采样时刻的测量值、为每个所述运行参数预先配置的评价公式及评价参数,计算每个所述运行参数在当前采样时刻的评价分;
[0018] 对在当前采样时刻计算得到的所有运行参数的评价分进行连乘运算,生成所述待评测系统在当前采样时刻的健康评分。
[0019] 上述技术方案中,通过在待评测系统运行具体的业务时,监测所需的运行参数,计算每个所述运行参数当前采样时刻的评价分,对所有运行参数的评价分进行连乘运算,生成所述待评测系统当前采样时刻的健康评分,因此,可以对当前待评测系统上运营的业务进行评分,获得有针对性的健康评分,从而更灵活及直观的获得待评测系统当前的健康状况。此外,在计算时,利用连乘运算来获得最终的健康评分,通过由各运行参数的乘积表现为整个待评测系统的综合水平,保证了被评价的各个运行参数的价值一致性,进而保证了健康评分的客观和全面。
[0020] 优选地,所述待评测系统为web系统,所述web系统的服务器包括Web前端服务器、数据库服务器及数据缓存服务器;其中,所述Web前端服务器的运行参数包括服务平均响应时间及异常HTTP服务器状态码及其数量;所述数据库服务器的运行参数包括平均连接数及执行缓慢的数据库操作平均执行时间;所述数据缓存服务器的运行参数包括写操作的平均响应时间及读操作的平均响应时间。
[0021] 优选地,所述运行参数Xk的评价参数包括敏感参数Ak及补偿参数Bk,且满足其中,Nk表示为所述运行参数Xk预先设定的标准值。
[0022] 本优选方案中,Nk表示为所述运行参数Xk预先设定的标准值,例如,假设运行参数为缓存响应延迟,其合理范围为600ms至800ms,则可取Nk=700ms,当取Ak=1/800时,Bk=1/8。其中,若为了提高监测的敏感度,可增大Ak的取值,假设Ak变为1/700,则应调整Bk=0。
[0023] 优选地,所述根据每个所述运行参数在当前采样时刻的测量值、为每个所述运行参数预先配置的评价公式及评价参数,计算每个所述运行参数在当前采样时刻的评价分,具体为:
[0024] 将所述当前采样时刻的测量值Mk、敏感参数Ak及补偿参数Bk代入预先配置的评价公式 中,计算得到所述运行参数Xk在当前采样时刻的评价分。
[0025] 由上一个优选方案可知,所述运行参数Xk当前采样时刻的评价分在1附近波动。
[0026] 优选地,在所述将所述当前采样时刻的测量值Mk、敏感参数Ak及补偿参数Bk代入预先配置的评价公式 计算得到所述运行参数Xk在当前采样时刻的评价分之后,还包括:
[0027] 根据为每个所述运行参数Xk配置的权重参数Ck,计算所述运行参数Xk的评价分的Ck次幂,以对所述运行参数Xk的评价分进行加权修正。
[0028] 在本优选方案中,用户可根据不同的运行参数的重要性分配不同的权重参数,如果认为某个运行参数比较重要,则可分配一个大于1的权重参数,如果认为某个运行参数比较不重要,则可分配一个小于1的权重参数。则此时,可通过获取用户为每个所述运行参数Xk分配的权重参数Ck,计算所述运行参数Xk当前采样时刻的评价分的Ck次幂,以对所述运行参数Xk当前采样时刻的评价分进行加权修正。
[0029] 优选地,在所述对在当前采样时刻计算得到的所有运行参数的评价分进行连乘运算,生成所述待评测系统在当前采样时刻的健康评分之后,还包括:
[0030] 将所述当前采样时刻的健康评分乘以预置的基准值,以对所述健康评分进行校准。
[0031] 在本优选方案中,可将健康评分乘以一个基准值,例如,假设基准值设置为8,则所述健康评分将大致以十分制的形式呈现,假设基准值设置为80,则所述健康评分将大致以百分制的形式呈现,如此比较直观的根据健康评分获得所述待评测系统的健康状态。
[0032] 优选地,在所述将所述当前采样时刻的健康评分乘以预置的基准值,以对所述健康评分进行校准之后,还包括:
[0033] 根据预置的波动控制参数Ω,控制所述健康评分在所述基准值的预定范围内波动;其中,Ω为小于1的正数。
[0034] 在上一个优选方案,通过基准值的校准可控制健康评分的分制,但是,最终显示出来的健康评分的波动范围仍然比较大,比如,假设基准值设置为80,则所述健康评分有可能远超过100,也可能远低于60,这样,用户无法根据健康评分直观获得所述待评测系统的健康状态。本优选方案中,通过设置一个小于1波动控制参数来控制所述健康评分的波动范围,可使得最终呈现出来的健康评分大致在60~100之间波动(针对基准值为80的情况),这样,用户可以根据健康评分非常直观地获得所述待评测系统的健康状态。
[0035] 优选地,在所述对在当前采样时刻计算得到的所有运行参数的评价分进行连乘运算,生成所述待评测系统在当前采样时刻的健康评分之后,还包括:
[0036] 获取所述待评测系统在当前采样时刻及位于当前采样时刻的前n-1个采样时刻的健康评分及为这n个采样时刻预先配置的权重值,并基于所述n个权重值及n个采样时刻的健康评分进行加权平均后,生成加权后的健康评分。
[0037] 本优选方案中,在对待评测系统的健康状态进行评估,将不仅仅依赖于当前采样时刻的健康评分,还和过去采样时刻的健康评分相关,通过加权平均对时间做了一个平滑滤波,不仅能避免某一采样时刻由于单一计算数据极端异常导致的统计误差,还能反应出该待评测系统的健康评分在时间维度上的波动情况。
[0038] 优选地,还包括:
[0039] 根据所述健康评分生成所述待评测系统在当前采样时刻的健康状态,并显示所述健康评分及健康状态。
[0040] 本发明还提供一种系统健康评测装置,包括:
[0041] 监测单元,用于监测位于待评测系统内的至少一个服务器的运行参数,并获取被监测的每个所述运行参数在当前采样时刻的测量值;其中,所述运行参数根据所述待评测系统运行的业务决定;
[0042] 评价分计算单元,用于根据每个所述运行参数在当前采样时刻的测量值、为每个所述运行参数预先配置的评价公式及评价参数,计算每个所述运行参数在当前采样时刻的评价分;
[0043] 健康评分计算单元,用于对在当前采样时刻计算得到的所有运行参数的评价分进行连乘运算,生成所述待评测系统在当前采样时刻的健康评分。
[0044] 优选地,所述待评测系统为web系统,所述web系统的服务器包括Web前端服务器、数据库服务器及数据缓存服务器;其中,所述Web前端服务器的运行参数包括服务平均响应时间及异常HTTP服务器状态码及其数量;所述数据库服务器的运行参数包括平均连接数及执行缓慢的数据库操作平均执行时间;所述数据缓存服务器的运行参数包括写操作的平均响应时间及读操作的平均响应时间。
[0045] 优选地,所述评价参数包括敏感参数Ak及补偿参数Bk,且满足 其中,Nk表示为所述运行参数Xk预先设定的标准值。
[0046] 优选地,所述评价分计算单元具体用于,将所述当前采样时刻的测量值Mk、敏感参数Ak及补偿参数Bk代入预先配置的评价公式 中,计算得到所述运行参数Xk在当前采样时刻的评价分。
[0047] 优选地,所述系统健康评测装置还包括:
[0048] 加权修正单元,用于根据为每个所述运行参数Xk分配的权重参数Ck,并计算所述运行参数Xk的评价分的Ck次幂,以对所述运行参数Xk的评价分进行加权修正。
[0049] 优选地,所述系统健康评测装置还包括:
[0050] 校准单元,用于将所述当前采样时刻的健康评分乘以预置的基准值,以对所述健康评分进行校准。
[0051] 优选地,所述系统健康评测装置还包括:
[0052] 波动控制单元,用于根据预置的波动控制参数Ω,控制所述健康评分在所述基准值的预定范围内波动;其中,Ω为小于1的正数。
[0053] 优选地,所述系统健康评测装置还包括:
[0054] 加权平均单元,用于获取所述待评测系统在当前采样时刻及位于当前采样时刻的前n-1个采样时刻的健康评分及为这n个采样时刻预先分配的权重值,并基于所述n个权重值及n个采样时刻的健康评分进行加权平均后,生成加权后的健康评分。
[0055] 优选地,所述系统健康评测装置还包括:
[0056] 健康状态显示单元,用于根据所述健康评分生成所述待评测系统在当前采样时刻的健康状态,并显示所述健康评分及所述健康状态。

附图说明

[0057] 为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0058] 图1是本发明实施例提供的系统健康评测方法的流程示意图。
[0059] 图2是系统健康评测监测web系统的示意图。
[0060] 图3是计算得到的健康评分随时间变化的曲线示意图。
[0061] 图4是本发明实施例提供的系统健康评测装置的结构示意图。
[0062] 图5是本发明实施例提供的系统健康评测装置的另一种结构示意图。

具体实施方式

[0063] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0064] 请参阅图1,本发明实施例提供了一种系统健康评测方法,其可由系统健康评测装置来执行,并包括如下步骤:
[0065] S101,监测位于待评测系统内的至少一个服务器的运行参数,并获取被监测的每个所述运行参数在当前采样时刻的测量值;其中,所述运行参数根据所述待评测系统运行的业务决定。
[0066] 在本发明实施例中,所述待评测系统可为一个web系统,而对于一个web系统,其至少包括一个Web前端服务器,此外,还可根据实际的需要选择性的加入数据库服务器及数据缓存服务器。如图2所示,本发明实施例以一个典型的同时包括Web前端服务器、数据库服务器及数据缓存服务器的web系统为例进行说明,其中:
[0067] 对于Web前端服务器而言,典型的运行参数有如下几种:
[0068] ●服务平均响应时间
[0069] 典型的可以通过Web服务器,如apache,nginx等返回的acess log,记录每条请求的响应时间,服务器的平均响应时间=单位时间总响应时间/单位时间的总请求数。
[0070] ●异常HTTP服务器状态码及其数量
[0071] 典型的HTTP异常响应状态码如499,500,502等。异常状态码与用户端访问异常密切相关,某HTTP异常状态码=单位时间Web服务器返回该异常码的请求数。
[0072] 对于数据库服务器而言,典型的运行参数有如下几种:
[0073] ●数据库服务器的平均连接数
[0074] 数据库平均连接数=采样期间总的数据库连接数/单位时间的采样数[0075] ●执行缓慢的数据库操作数量
[0076] 典型的如mysql可以设置慢数据库操作的时长,不同的Web应用可根据自身服务的需求设置,如可以规定访问数据库超过2秒以上的均定义为一次慢操作。执行缓慢的数据库操作数量=单位时间数据库服务器记录的慢操作数量。
[0077] ●执行缓慢的数据库操作平均执行时间
[0078] 执行缓慢的数据库操作平均执行时间=单位时间内记录的所有数据库慢操作的操作时间总和/执行缓慢的数据库操作数量。
[0079] 对于数据缓存数据服务器而言,典型的运行参数有如下几种:
[0080] ●写操作的平均响应时间
[0081] 典型的数据缓存数据服务器写操作平均响应时间=采样期间总的写操作响应时间/单位时间的采样数
[0082] ●读操作的平均响应时间
[0083] 典型的缓存数据服务器读操作平均响应时间=采样期间总的读操作响应时间/单位时间的采样数。
[0084] 在本发明实施例中,可根据实际运行的业务或服务对上述的运行参数进行监测,监测的运行参数可以为一个或多个。此外,可根据实际的需要监测一台服务器的运行参数或同时多台服务器的运行参数,本发明均不做具体限定。
[0085] 当然,本发明实施例的使用必然不限定于上述提及的web系统,例如,还可以应用于办公自动化(Office Automation,OA)系统或者企业管理解决方案(systems applications and products,SAP)系统,这些系统都要通过服务器(如数据库服务器)进行数据业务的存储、读取以及处理等,因而只要通过服务器来进行业务或数据处理的系统都在本发明的保护范围之内。
[0086] 需要说明的是,在本发明实施例中,所述待评测系统的服务器除了上述提及的服务器外,还可包括文件服务器,应用程序服务器等,本发明不做具体限定。
[0087] 在本发明实施例中,所述系统健康评测装置通过定时采样的方式进行运行参数的采集,例如,可设置每五分钟为一个采样时刻,即每五分钟监测一次各个运行参数的测量值Mk。
[0088] S102,根据每个所述运行参数在当前采样时刻的测量值、为每个所述运行参数预先配置的评价公式及评价参数,计算每个所述运行参数在当前采样时刻的评价分。
[0089] 具体地,对于一个运行参数Xk,其评价参数包括敏感参数Ak及补偿参数Bk,且满足其中,Nk表示为所述运行参数Xk预先设定的标准值。
[0090] 则此时,可通过将所述当前采样时刻的测量值Mk、敏感参数Ak及补偿参数Bk代入预先配置的评价公式 中,计算得到所述运行参数Xk当前采样时刻的评价分。
[0091] 在本发明实施例中,由于运行参数Xk的测量值Mk为正数,所以敏感参数Ak越大,就会偏移1越大,导致计算结果异常,因此控制Ak大小,便能控制住某一运行参数Xk的波动敏感程度。Bk作为运行参数Xk的补偿参数,其目的在于选中一个具体的Ak后,通过补偿使得 能趋近于1。
[0092] 例如,假设运行参数Xk代表服务平均响应时间,其合理范围为600至800ms,此时,可取标准值Nk=700,则当Ak=1/800时,Bk=1/8,这样就能保证 的值在1附近波动,并且当Mk=700时, 当要提高监测的敏感程度,可增大Ak的值。假设Ak变为1/700,此时发现当Mk=700时, 已经偏离1,故应调整Bk=0,保证Mk=700时,仍然成立。从以上例子不难发现:补偿参数Bk本质是为了确保在Ak变化后,在标准值Nk不变的情况下, 结果始终为1,从而确保所述待评测系统的运行参数的评价分在合理范围内波动。
[0093] S103,对在当前采样时刻计算得到的所有运行参数的评价分进行连乘运算,生成所述待评测系统在当前采样时刻的健康评分。
[0094] 在本发明实施例中,通过步骤S102即可依次计算得到每个运行参数在当前采样时刻的评价分,此后,对所有运行参数的评价分进行连乘运算,生成所述待评测系统当前采样时刻的健康评分。如公式(1)所示,此时,所述待评测系统当前采样时刻的健康评分Y可表示为:
[0095]
[0096] 从统计学上看,公式(1)本质上是属于多指标综合评价中的乘法合成的一种变形,乘法合成适用于各个评价指标有强烈关联的情景,由各评价指标的乘积表现为整个系统的综合水平。乘法合成有一个最重要的特点就是被评价的对象的各个指标价值的一致性,也就是说,它和加法合成之外的合成评价方法不同,它要求被评价对象的各个指标的彼此间差异性较小,任何一个指标也不能偏废。从这个角度出发,可以清晰的看出,乘法合成方法很适合Web系统健康评价。因为,Web系统若某一个运行参数出现瓶颈,将会直接导致整个系统的性能急剧下降。因此,公式(1)选用了乘法合成作为原型来对Web系统健康分数进行计算,可保证被评价的各个运行参数的价值一致性,从而保证计算得到的健康评分的客观与全面。
[0097] 在本发明实施例中,在计算获得所述健康评分后,所述系统健康评测装置可根据所述健康评分获得所述待评测系统的健康状态,从上述描述可知,所述健康评分接近1或大于1时,所述待评测系统具有较好的健康状态,而当所述健康评分远小于1时,则所述待评测系统的健康状态可能比较不佳,即可能无法及时响应或无法及时进行数据的存储读取等,此时应做适当维护或故障排除。
[0098] 综上,本发明实施例提供的系统健康评测方法,通过在待评测系统运行具体的业务时,监测所需的运行参数,计算每个所述运行参数当前采样时刻的评价分,对所有运行参数的评价分进行连乘运算,生成所述待评测系统当前采样时刻的健康评分,因此,可以对当前待评测系统上运营的业务进行评分,获得有针对性的健康评分,从而更灵活及直观的获得待评测系统当前的健康状况。此外,在计算时,利用连乘运算来获得最终的健康评分,通过由各运行参数的乘积表现为整个待评测系统的综合水平,保证了被评价的各个运行参数的价值一致性,进而保证了评测的客观和全面。
[0099] 为了便于对本发明的理解,下面将对本发明的一些优选实施例做进一步描述。
[0100] 第一个优选实施例:
[0101] 在所述待评测系统运行业务或服务时,有些运行参数比较重要,有些运行参数则相对不那么重要,为了区分不同运行参数的重要程度,并在最终的健康评分显示出这种区分,所述系统健康评测方法在步骤S102之后,还包括:
[0102] S1021,根据为每个所述运行参数Xk配置的权重参数Ck,计算所述运行参数Xk的评价分的Ck次幂,以对所述运行参数Xk的评价分进行加权修正。
[0103] 在本优选实施例中,用户可根据不同的运行参数Xk的重要性分配不同的权重参数Ck,如果用户认为某个运行参数对整个待评测系统的整体健康状态比较重要,则可对这个运行参数分配一个大于1的权重参数,如果用户认为某个运行参数对整个待评测系统的整体健康状态不那么重要,则可对这个运行参数分配一个小于1的权重参数。则此时,所述系统健康评测装置可通过获取用户为每个所述运行参数Xk分配的权重参数Ck,计算所述运行参数Xk在当前采样时刻的评价分的Ck次幂,以对所述运行参数Xk当前采样时刻的评价分进行加权修正。
[0104] 其中,优选地,所述权重参数Ck的取值范围在0~2之间。
[0105] 其中,此时运行参数Xk在当前采样时刻的评价分可表示为:
[0106] 第二个优选实施例:
[0107] 优选地,在步骤S103之后,还包括:
[0108] S104,将所述当前采样时刻的健康评分乘以预置的基准值,以对所述健康评分进行校准。
[0109] 在本优选实施例中,可将健康评分乘以一个基准值H,例如,假设基准值H设置为8,则最终计算得到的所述健康评分将大致以十分制的形式呈现,假设基准值H设置为80,则最终计算得到的所述健康评分将大致以百分制的形式呈现,如此可以比较直观的根据健康评分获得所述待评测系统的健康状态。其中,健康评分的数值越大,说明所述待评测系统的健康状态越好。
[0110] 其中,此时,所述健康评分可由如下公式(2)计算得到:
[0111]
[0112] 第三个优选实施例:
[0113] 针对第二个优选实施例,优选地,在步骤S104之后,还包括:
[0114] S105,根据预置的波动控制参数Ω,控制所述健康评分在所述基准值的预定范围内波动;其中,Ω为小于1的正数。
[0115] 在第二个优选实施例中,通过基准值H的校准可控制健康评分的分制,但是,最终显示出来的健康评分的波动范围仍然比较大,比如,假设基准值H设置为80,则所述健康评分有可能远超过100,也可能远低于60,这样,用户无法根据健康评分直观获得所述待评测系统的健康状态。
[0116] 本优选实施例中,可通过设置一个小于1波动控制参数Ω来控制所述健康评分在所述基准值的预定范围内波动。具体地,通过计算获得所述健康评分的Ω次幂,可使得最终呈现出来的健康评分大致在60~100之间波动(对应H=80),这样,用户可以根据健康评分非常直观地获得所述待评测系统的健康状态。
[0117] 其中,优选地,所述波动控制参数Ω为经验值,如可设置为0.8。
[0118] 第四个优选实施例:
[0119] 优选地,在步骤S103之后,还包括:
[0120] S106,获取所述待评测系统在当前采样时刻及位于当前采样时刻的前n-1个采样时刻的健康评分及为这n个采样时刻预先配置的权重值,并基于所述n个权重值及n个采样时刻的健康评分进行加权平均后,生成加权后的健康评分。
[0121] 具体地,考虑到上述所有优选实施例,则此时,当前采样时刻的加权后的健康评分Sn可如公式(3)所示:
[0122]
[0123] 其中,Yn是当前采样时刻的健康评分,可由公式(2)计算得到,则相应的Yn-1是上一个采样时刻的健康评分,Yn-2是上两个采样时刻的健康评分,以此类推。Dk代表为每个采样时刻的权重值,其中,Yn的权重值是D0,Yn-1的权重值是D1,以此类推。显然,当前采样时刻的健康评分的权重值最大,而越靠前的采样时刻的权重值越小。
[0124] 通过公式(3)可知,本优选实施例中,在对待评测系统的健康状态进行评估,将不仅仅依赖于当前采样时刻的健康评分,还和过去采样时刻的健康评分相关。Sn为对所述待评测系统的连续n个采样时刻的健康评分做了一个加权平均(本质是对时间做了一个平滑过滤)。如此,不仅能避免由于某一采样时刻计算数据极端异常导致的统计误差,还能反应出该待评测系统在时间维度上的波动情况。
[0125] 如图3所示,图3即为利用本发明实施例的系统健康评测方法计算生成的健康评分随时间的变化曲线,其中H取80,所述健康评分大致在60~100之间波动。
[0126] 请参阅图4,图4是本发明实施例提供的系统健康测评装置,所述系统健康测评装置100包括:
[0127] 监测单元10,用于监测位于待评测系统内的至少一个服务器的运行参数,并获取被监测的每个所述运行参数在当前采样时刻的测量值;其中,所述运行参数根据所述待评测系统运行的业务决定。
[0128] 在本发明实施例中,所述待评测系统可为一个web系统,而对于一个web系统,其至少包括一个Web前端服务器,此外,还可根据实际的需要选择性的加入数据库服务器及数据缓存服务器。其中,所述Web前端服务器的运行参数包括服务平均响应时间及异常HTTP服务器状态码及其数量;所述数据库服务器的运行参数包括平均连接数及执行缓慢的数据库操作平均执行时间;所述数据缓存服务器的运行参数包括写操作的平均响应时间及读操作的平均响应时间。
[0129] 在本发明实施例中,所述监测单元10可根据实际运行的业务或服务对上述的运行参数进行监测,监测的运行参数可以包含以上一种或多种。
[0130] 此外,所述监测单元10可根据实际的需要监测一台服务器或多台服务器,本发明均不做具体限定。
[0131] 在本发明实施例中,所述监测单元10通过定时采样的方式进行运行参数的采集,例如,可设置每五分钟为一个采样时刻,即每五分钟监测一次各个运行参数的测量值Mk。
[0132] 评价分计算单元20,用于根据每个所述运行参数在当前采样时刻的测量值、为每个所述运行参数预先配置的评价公式及评价参数,计算每个所述运行参数在当前采样时刻的评价分。
[0133] 具体地,所述评价参数包括敏感参数Ak及补偿参数Bk,且满足 其中,Nk表示为所述运行参数Xk预先设定的标准值。
[0134] 则此时,所述评价分计算单元20可通过将所述当前采样时刻的测量值Mk、敏感参数Ak及补偿参数Bk代入预先配置的评价公式 中,计算得到所述运行参数Xk当前采样时刻的评价分。
[0135] 健康评分计算单元30,用于对在当前采样时刻计算得到的所有运行参数的评价分进行连乘运算,生成所述待评测系统在当前采样时刻的健康评分。
[0136] 在本发明实施例中,所述健康评分计算单元30对所述评价分计算单元20计算得到的所有运行参数的评价分进行连乘运算,生成所述待评测系统当前采样时刻的健康评分,具体计算过程可参考公式(2)。
[0137] 综上,本发明实施例提供的系统健康评测装置100,通过在待评测系统运行具体的业务时,由所述监测单元10监测所需的运行参数,由评价分计算单元20计算每个所述运行参数当前采样时刻的评价分,由健康评分计算单元对所有运行参数的评价分进行连乘运算,生成所述待评测系统当前采样时刻的健康评分,因此,可以对当前待评测系统上运营的业务进行评分,获得有针对性的健康评分,从而更灵活及直观的获得待评测系统当前的健康状况。此外,在计算时,利用连乘运算来获得最终的健康评分,通过由各运行参数的乘积表现为整个待评测系统的综合水平,保证了被评价的各个运行参数的价值一致性,进而保证了健康评分的客观和全面。
[0138] 为了便于对本发明的理解,下面将对本发明的一些优选实施例做进一步描述。
[0139] 第一个优选实施例:
[0140] 在所述待评测系统运行业务或服务时,有些运行参数比较重要,有些运行参数则相对不那么重要,为了区分不同运行参数的重要程度,并在最终的健康评分显示出这种区分。则此时,所述系统健康评测装置100还包括:
[0141] 加权修正单元40,用于根据为每个所述运行参数Xk配置的权重参数Ck,计算所述运行参数Xk的评价分的Ck次幂,以对所述运行参数Xk的评价分进行加权修正。
[0142] 在本优选实施例中,用户可根据不同的运行参数Xk的重要性分配不同的权重参数Ck,如果用户认为某个运行参数对整个待评测系统的整体健康状态比较重要,则可对这个运行参数分配一个大于1的权重参数,如果用户认为某个运行参数对整个待评测系统的整体健康状态不那么重要,则可对这个运行参数分配一个小于1的权重参数。则此时,所述加权修正单元40可通过获取用户为每个所述运行参数Xk分配的权重参数Ck,计算所述运行参数Xk在当前采样时刻的评价分的Ck次幂,以对所述运行参数Xk当前采样时刻的评价分进行加权修正。
[0143] 其中,优选地,所述权重参数Ck的取值范围在0~2之间。
[0144] 第二个优选实施例:
[0145] 优选地,所述系统健康测评装置100还包括:
[0146] 校准单元50,用于将所述当前采样时刻的健康评分乘以预置的基准值,以对所述健康评分进行校准。
[0147] 在本优选实施例中,所述校准单元50可将健康评分乘以一个基准值H,例如,假设基准值H设置为8,则最终计算得到的所述健康评分将大致以十分制的形式呈现,假设基准值H设置为80,则最终计算得到的所述健康评分将大致以百分制的形式呈现,如此可以比较直观的根据健康评分获得所述待评测系统的健康状态。其中,健康评分是数值越大,说明所述待评测系统的健康状态越好。
[0148] 第三个优选实施例:
[0149] 针对第二个优选实施例,优选地,所述系统健康测评装置100还包括:
[0150] 波动控制单元60,用于根据预置的波动控制参数Ω,控制所述健康评分在所述基准值的预定范围内波动;其中,Ω为小于1的正数。
[0151] 在第二个优选实施例中,通过基准值H的校准可控制健康评分的分制,但是,最终显示出来的健康评分的波动范围仍然比较大,比如,假设基准值H设置为80,则所述健康评分有可能远超过100,也可能远低于60,这样,用户无法根据健康评分直观获得所述待评测系统的健康状态。
[0152] 本优选实施例中,所述波动控制单元60可通过设置一个小于1波动控制参数Ω来控制所述健康评分在所述基准值的预定范围内波动。具体地,所述波动控制单元60通过计算获得所述健康评分的Ω次幂,可使得最终呈现出来的健康评分大致在60~100之间波动(对应H=80),这样,用户可以根据健康评分非常直观地获得所述待评测系统的健康状态。
[0153] 其中,优选地,所述波动控制参数Ω为小于1的经验值,如可设置为0.8。
[0154] 第四个优选实施例:
[0155] 优选地,所述系统健康评测装置100还包括:
[0156] 加权平均单元70,用于获取所述待评测系统在当前采样时刻及位于当前采样时刻的前n-1个采样时刻的健康评分及为这n个采样时刻预先配置的权重值,并基于所述n个权重值及n个采样时刻的健康评分进行加权平均后,生成加权后的健康评分。
[0157] 具体地,可参考公式(3),通过公式(3)可知,本优选实施例中,在对待评测系统的健康状态进行评估,将不仅仅依赖于当前采样时刻的健康评分,还和过去采样时刻的健康评分相关。Sn为对所述待评测系统的连续n个采样时刻的健康评分做了一个加权平均(本质是对时间做了一个平滑过滤)。如此,不仅能避免由于某一采样时刻计算数据极端异常导致的统计误差,还能反应出所述待评测系统在时间维度上的波动情况。
[0158] 第五个优选实施例:
[0159] 优选地,所述系统健康评测装置100还包括:
[0160] 健康状态显示单元80,用于根据所述健康评分生成所述待评测系统在当前采样时刻的健康状态,并显示所述健康评分及所述健康状态。
[0161] 在本发明实施例中,在计算获得所述健康评分后,所述健康状态显示单元80可根据所述健康评分获得所述待评测系统的健康状态,从而根据实时的健康状态做适当维护或故障排除。
[0162] 以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
[0163] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。