发明内容
本申请所要解决的技术问题是提供一种应用服务器集群效率测试方法,通过确定应用服务器集群的峰值处理能力区间和请求处理能力,进而确定所述应用服务器集群的效率,准确测试应用服务器集群的服务能力。
本申请还提供了一种应用服务器集群效率测试系统,用以保证上述方法在实际中的实现及应用。
为了解决上述问题,本申请公开了一种应用服务器集群效率测试方法,包括:
确定所述应用服务器集群中各个单节点应用服务器的峰值处理能力,及各个单节点应用服务器处于峰值处理能力时的请求处理能力;
依据所述各个单节点应用服务器的峰值处理能力及各个单节点应用服务器处于峰值处理能力时的请求处理能力计算所述应用服务器集群的峰值处理能力区间及所述应用服务器集群的理论最大请求处理能力;
获取所述应用服务器集群在所述应用服务器集群的峰值处理能力区间内的实际处理能力及在所述请求处理区间内的实际请求处理能力;
依据所述应用服务器集群的实际请求处理能力及所述应用服务器集群的请求处理能力区间中的最大请求处理能力测试所述应用服务器集群的效率,所述应用服务器集群的效率为所述应用服务器集群的实际请求处理能力与所述集群最大请求处理能力的商。
上述方法,优选的,所述确定所述应用服务器集群中各个单节点应用服务器峰值处理能力,及各个单节点应用服务器处于峰值处理能力时的请求处理能力包括:
分别测试所述应用服务器集群中各个单节点应用服务器的处理能力,当应用所述单节点应用服务器对系统进行访问,所述系统的响应时间超过第一预设合理值或访问失败数超过第二预设合理值时对应的单节点应用服务器的处理能力为所述单节点应用服务器的峰值处理能力,所述单节点应用服务器处于峰值处理能力时的请求处理能力为所述单节点应用服务器的请求处理能力。
上述方法,优选的,所述计算所述应用服务器集群的峰值处理能力区间及所述应用服务器的理论最大请求处理能力包括:
将所述应用服务器集群中各个单节点应用服务器中峰值处理能力最小的应用服务器的峰值处理能力作为所述应用服务器集群峰值处理能力区间中的最小值;将所述应用服务器集群中各个单节点应用服务器的峰值处理能力的总和作为所述应用服务器集群处理能力区间的理论最大值;
将所述应用服务器集群中各个单节点应用服务器的请求处理能力的总和作为所述应用服务器集群请求处理能力的理论最大请求处理能力。
上述方法,优选的,所述获取所述应用服务器集群在所述应用服务器集群的峰值处理能力区间内的实际处理能力及在所述请求处理区间内的实际请求处理能力包括:
应用所述应用服务器集群在不同测试压力下对系统进行访问,当所述系统的响应时间超过第一预设合理值或访问失败数超过第二预设合理值时对应的所述应用服务器集群的处理能力为所述应用服务器的实际处理能力;所述应用服务器集群处于实际处理能力时的请求处理能力为所述应用服务器集群的实际请求处理能力。
一种应用服务器集群效率测试系统,包括:
确定模块、计算模块、获取模块和测试模块;
其中,
所述确定模块用于确定所述应用服务器集群中各个单节点应用服务器的峰值处理能力,及各个单节点应用服务器处于峰值处理能力时的请求处理能力;
所述计算模块用于依据所述各个单节点应用服务器的峰值处理能力及各个单节点应用服务器处于峰值处理能力时的请求处理能力计算所述应用服务器集群的峰值处理能力区间及所述应用服务器的理论最大请求处理能力;
所述获取模块用于获取所述应用服务器集群在所述应用服务器集群的峰值处理能力区间内的实际处理能力及在所述请求处理区间内的实际请求处理能力;
所述测试模块用于依据所述应用服务器集群的实际请求处理能力及所述应用服务器集群的请求处理能力区间中的最大请求处理能力测试所述应用服务器集群的效率,所述应用服务器集群的效率为所述应用服务器集群的实际请求处理能力与所述集群最大请求处理能力的商。
上述系统,优选的,所述确定模块包括:
第一检测单元,用于检测所述应用服务器集群中各个单节点应用服务器的峰值处理能力;
第一记录单元,用于记录当应用所述单节点应用服务器对系统进行访问,所述系统的响应时间超过第一预设合理值或访问失败数超过第二预设合理值时对应的单节点应用服务器的处理能力,即所述单节点应用服务器的峰值处理能力,并记录所述单节点应用服务器处于峰值处理能力时的请求处理能力,即所述单节点应用服务器的请求处理能力。
上述系统,优选的,所述计算模块包括:
第一计算单元,用于将所述应用服务器集群中各个单节点应用服务器的峰值处理能力进行比较,并将所述应用服务器集群中各个单节点应用服务器中峰值处理能力最小的应用服务器的峰值能力作为所述应用服务器集群的峰值处理能力区间的最小值;并将所述应用服务器集群中各个单节点应用服务器的峰值处理能力的总和作为所述应用服务器集群处理能力区间的理论最大值;
第二计算单元,用于将所述应用服务器集群中各个单节点应用服务器的请求处理能力的总和作为所述应用服务器集群的理论最大请求处理能力。
上述系统,优选的,所述获取模块包括:
第二检测单元,用于检测所述应用服务器集群在不同测试压力下的实际处理能力;
第二记录单元,用于记录当所述系统的响应时间超过第一预设合理值或访问失败数超过第二预设合理值时对应的所述应用服务器集群的处理能力,即所述应用服务器的实际处理能力;并记录所述应用服务器集群处于实际处理能力时的请求处理能力,即所述应用服务器集群的实际请求处理能力。
本申请提供的一种应用服务器集群效率测试方法及系统,在测试过程中,首先通过测试单节点应用服务器的峰值处理能力和单节点应用服务器处于峰值处理能力时的请求处理,确定应用服务器集群的峰值处理能力区间,及请求处理能力理论最大值,然后在应用服务器集群的峰值处理能力区间内测试应用服务器集群的实际请求处理能力,然后根据应用服务器集群的实际请求处理能力和请求处理能力的理论最大值计算服务器集群的效率。
由上述可知,本申请提供的一种应用服务器集群效率测试方法及系统,在测试过程中,充分考虑集群对性能的提升重点是多用户的服务能力,即在应用服务器集群峰值处理能力区间内测试应用服务器集群的实际请求处理能力,并计算应用服务器集群的效率,该方法通过量化的方式测试应用服务器集群的效率,测得的应用服务器集群的效率是可准确比较与评价的,并且,即使测试环境不同、应用服务器产品不同,由该测试方法及系统得到的应用服务器集群的效率仍然有意义。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本申请实施例一提供的一种应用服务器集群效率测试方法的流程图如图1所述,包括:
步骤S101:确定所述应用服务器集群中各个单节点应用服务器的峰值处理能力,及各个单节点应用服务器处于峰值处理能力时的请求处理能力;
分别测试应用服务器集群中各个单节点应用服务器的峰值处理能力,在给定测试压力下,当应用所述单节点应用服务器对系统进行访问,如果系统响应时间超出第一预设合理值或访问失败数超过第二预设合理值,则判定系统进入峰值工作状态。其中,第一预设合理值和第二预设合理值都可以由用户根据实际需要指定。逐步调整测试压力,使系统的响应时间控制在第一预设合理值内、请求失败数控制在第二预设合理值内的最大测试压力即为单节点应用服务器的峰值处理能力,单节点应用服务器的峰值处理能力所对应的请求处理能力即为单节点应用服务器的请求处理能力,请求处理能力一般采用指标为每秒处理请求数。
例如,节点192.168.51.82机器在100用户并发访问时,系统响应时间和请求失败数均在在合理范围内,在110用户并发访问时,系统的响应时间或请求失败数超出合理范围,则判定该节点的峰值处理能力为100并发访问,记录此时的请求处理能力为每秒处理8个访问请求。
如果服务器集群中所有单节点应用服务器的软硬件配置均相同,则可以只测试其中一个节点的峰值处理能力,据此推算出其它单节点应用服务器的峰值处理能力及整个服务器集群的峰值处理能力。
步骤S102:依据所述各个单节点应用服务器的峰值处理能力及各个单节点应用服务器处于峰值处理能力时的请求处理能力计算所述应用服务器集群的峰值处理能力区间及所述应用服务器的请求处理能力区间;
具体的,应用服务器集群的峰值处理能力区间的计算方法可以为:
将所述应用服务器集群中单节点应用服务器的峰值处理能力的最小值作为应用服务器集群的峰值能力区间的最小值,将应用服务器集群中所有单节点应用服务器的峰值处理能力的总和作为应用服务器集群的峰值处理能力区间的理论最大值。
应用服务器集群峰值处理能力区间可以简单表示为:
[Min(各个单节点应用服务器的峰值处理能力),Sum(各个单节点应用服务器的峰值处理能力)]。
其中,Min方法为从多个值中选择最小值,Sum方法为将多个值求和。
应用服务器集群的理论最大请求处理能力为单节点请求处理能力的总和,简单表示为:
Sum(各个单节点应用服务器的请求处理能力)Sum方法定义同上。
例如,如果三节点集群的单节点峰值处理能力分别为100、150、100,请求处理能力分别为8、12、8,那么整个应用服务器集群的峰值处理能力区间为[100,350],理论最大请求处理能力为28。
步骤S103:获取所述应用服务器集群在所述应用服务器集群的峰值处理能力区间内的实际处理能力及在所述请求处理区间内的实际请求处理能力;
给定测试压力,所述测试压力在所述应用服务器集群的峰值处理能力区间内,通过所述应用服务器集群对系统进行访问,如果系统的响应时间超出第一预设合理值或请求失败数超出第二预设合理值,则定义为系统过载,测试结果无效。测试压力的选择可以根据实际情况设定和调整,也可以使用预定义的值,如服务器集群的峰值处理能力的最大值、最小值和中值。
例如,针对三节点集群进行测试,在峰值压力区间最小值的请求处理能力为16,在最大值的测试结果无效,在中值的请求处理能力为20。
步骤S104:依据所述应用服务器集群的实际请求处理能力及所述应用服务器集群的请求处理能力区间中的最大请求处理能力测试所述应用服务器集群的效率,所述应用服务器集群的效率为所述应用服务器集群的实际请求处理能力与所述集群最大请求处理能力的商。
具体的,应用服务器集群的效率计算方法可以为:服务器集群实际请求处理能力除以服务器集群理论最大请求处理能力,所得比值越接近1,代表所述应用服务器集群的效率越高,系统的水平扩展能力越强。
用公式表示为:服务器集群效率=服务器集群实际请求处理能力/集群理论最大请求处理能力。
例如,针对三节点服务器集群实际请求处理能力,该服务器集群的效率最优值为20/28=1.4。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
与上述本申请一种应用服务器集群效率测试方法实施例一所提供的方法相对应,参见图2,本申请还提供了一种应用服务器集群效率测试系统实施例一,在本实施例中,该系统可以包括:
本申请实施例一提供的一种应用服务器集群效率测试系统的结构示意图如图2所示,包括:
确定模块201、计算模块202、获取模块203和测试模块204;
确定模块201用于确定所述应用服务器集群中各个单节点应用服务器的峰值处理能力,及各个单节点应用服务器处于峰值处理能力时的请求处理能力;
具体的,所述确定模块201的结构示意图如图3所示,包括:
第一检测单元2011和第一记录单元2012;
第一检测单元2011,用于检测所述应用服务器集群中各个单节点应用服务器的峰值处理能力;
第一记录单元2012,用于记录当应用所述单节点应用服务器对系统进行访问,所述系统的响应时间超过第一预设合理值或访问失败数超过第二预设合理值时对应的单节点应用服务器的处理能力,即所述单节点应用服务器的峰值处理能力,并记录所述单节点应用服务器处于峰值处理能力时的请求处理能力,即所述单节点应用服务器的请求处理能力。
计算模块202用于依据所述各个单节点应用服务器的峰值处理能力及各个单节点应用服务器处于峰值处理能力时的请求处理能力计算所述应用服务器集群的峰值处理能力区间及所述应用服务器的理论最大请求处理能力;
具体的,所述计算模块202的结构示意图如图4所示,包括:
第一计算单元2021和第二计算单元2022;
第一计算单元2021,用于将所述应用服务器集群中各个单节点应用服务器的峰值处理能力进行比较,并将所述应用服务器集群中各个单节点应用服务器中峰值处理能力最小的应用服务器的峰值能力作为所述应用服务器集群的峰值处理能力区间的最小值;并将所述应用服务器集群中各个单节点应用服务器的峰值处理能力的总和作为所述应用服务器集群处理能力区间的理论最大值;
第二计算单元2022,用于将所述应用服务器集群中各个单节点应用服务器的请求处理能力的总和作为所述应用服务器集群的理论最大请求处理能力。
获取模块203用于获取所述应用服务器集群在所述应用服务器集群的峰值处理能力区间内的实际处理能力及在所述请求处理区间内的实际请求处理能力;
具体的,所述获取模块203的结构示意图如图5所示包括:
第二检测单元2031和第二记录单元2032;
第二检测单元,用于检测所述应用服务器集群在不同测试压力下的实际处理能力;
第二记录单元,用于记录当所述系统的响应时间超过第一预设合理值或访问失败数超过第二预设合理值时对应的所述应用服务器集群的处理能力,即所述应用服务器的实际处理能力;并记录所述应用服务器集群处于实际处理能力时的请求处理能力,即所述应用服务器集群的实际请求处理能力。
测试模块204用于依据所述应用服务器集群的实际请求处理能力及所述应用服务器集群的请求处理能力区间中的最大请求处理能力测试所述应用服务器集群的效率,所述应用服务器集群的效率为所述应用服务器集群的实际请求处理能力与所述集群最大请求处理能力的商。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上系统时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种应用服务器集群效率测试方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。