一种服务器容量估算的方法和系统的制作方法

文档序号:6429663阅读:309来源:国知局
专利名称:一种服务器容量估算的方法和系统的制作方法
技术领域
本发明涉及容量估算领域,特别涉及一种服务器容量估算的方法和系统。
背景技术
随着信息系统业务应用的扩大,各种应用系统对管理和存储数据的数字中心提出了更高的要求。然而,随着应用系统的不断发展,已经建成的数据中心,可能出现现有部分设备的性能无法满足应用的需求,但一方面资产生命周期未完结,无法淘汰,另一方面如果对现有部分设备进行彻底改造,改造的投入成本又会过高。在这种情况下,如果考虑投入新设备,一方面可能出现新投运设备性能配置高,应用系统服务器尚未充分利用资源,造成资源浪费,另一方投入运行的新设备能耗稳定,不会因利用率低而降低能耗。因此,如何在原有数据中心和应用系统服务器的基础上,进行容量估算,利用估算的结果指导未来的资源部署,对于信息系统的业务发展至关重要。其中,容量估算是整个过程中至关重要的一环。准确的容量估算即能最大可能地避免未来部署的资源不足而导致的业务中断,又能在投入新设备时提高设备资源利用率,以实现全局资源的优化部署。对于容量估算,一种方法是针对现有各种业务应用系统的服务器,根据不同的服务器采用不同的标准进行估算,例如,估算OLTP (On-Line Transaction Processing, 0LTP)数据库服务器的容量通常使用TPC-C标准,估算OLAP (On-Line Analytical Processing, 0LAP)数据库服务的容量使用TPC-H标准,估算应用中间件服务器的容量使用SPECjl3b2005标准,估算Web 服务器的容量使用SPECweb99标准,估算企业资源计划(Enterprise Resource Planning, ERP)服务器的容量使用SAI^s标准。虽然这些标准提供了容量估算的基本方法,但是不同类型应用服务器的估算标准是不同的,没有一个通用的容量估算方法对各种业务应用系统中的不同服务器进行统一估算。并且,在具体使用各种标准进行估算前,都需按照每个标准的要求搭建各自严格的测试环境,无法实现通用性。此外,影响系统资源利用率的一个关键因素是用户需求。随着业务的发展,用户的需求是可能发生改变的。但是在新的应用系统服务器投入运行之前,使用各种标准进行容量估算的过程中,由标准规定了固定的用户需求值,使得估算容量和将来实际容量之间可能存在较大偏差。

发明内容
有鉴于此,本发明的目的在于提供一种容量估算的方法和系统,针对信息系统数据中心不同业务应用的服务器,通过复杂度参数的引入,实现对各应用系统服务器容量的通用的估算方法。为实现上述目的,本发明提供了如下方案一种服务器容量估算的方法,包括步骤统计服务器单位时间内完成的业务处理量、每日高峰时段时间长度;
计算服务器高峰时段处理量占全天处理量的百分比、复杂度参数;调整服务器冗余因数、中央处理器的利用率;根据所述服务器单位时间内完成的业务处理量、每日高峰时段时间长度、高峰处理量占全天处理量的百分比、复杂度参数、冗余因数和中央处理器的利用率估算服务器容量。优选的,所述根据所述服务器单位时间内完成的业务处理量、每日高峰时段时间长度、高峰处理量占全天处理量的百分比、复杂度参数、冗余因数和中央处理器的利用率估算服务器容量包括估算的容量=单位时间内完成的业务处理量*高峰处理量占全天处理量的百分比*复杂度参数*冗余因数/ (每日高峰时段时间长度*中央处理器的利用率)。优选的,所述计算复杂度参数,包括查询获得服务器机型的基准性能指标;进行服务器达到性能极限时的压力测试,获得压力测试下的性能指标;计算两个性能指标之比,得到复杂度参数。优选的,所述计算复杂度参数,包括获取当前在线应用系统服务器的容量、单位时间内完成的业务处理量、高峰处理量占全天处理量的百分比、每日高峰时段时间长度、中央处理器的利用率,冗余因数,根据以下公式计算系统的复杂度参数容量=单位时间内完成的业务统计处理量 *高峰处理量占全天处理量的百分比*复杂度参数*冗余因数/(每日高峰时段时间*中央处理器的利用率)。优选的,所述获取每日高峰时段时间长度包括收集预设天数的每日高峰时段时间长度,对所获得的预设天数的每日高峰时段时间长度求平均值,得到每日高峰时段时间长度。一种服务器容量估算的系统,包括步骤统计单元,用于统计服务器单位时间内完成的业务处理量、每日高峰时段时间长度;计算单元,用于计算服务器高峰时段处理量占全天处理量的百分比、复杂度参数;调整单元,用于调整冗余因数和中央处理器的利用率;容量估算单元,用于根据所述统计单元输出的服务器单位时间内完成的业务处理量和每日高峰时段时间长度,计算单元输出的高峰处理量占全天处理量的百分比和复杂度参数,调整单元输出的冗余因数和中央处理器的利用率估算服务器容量。优选的,所述容量估算单元,具体以下公式计算服务器估算容量估算的容量=单位时间内完成的业务处理量*高峰处理量占全天处理量的百分比*复杂度参数*冗余因数/ (每日高峰时段时间长度*中央处理器的利用率)。优选的,所述统计单元,进一步包括单位时间内业务处理量统计子单元,用于统计服务器单位时间内完成的业务处理量;高峰时段时间长度统计子单元,用于统计每日高峰时段时间长度;CN 102411515 A 优选的,所述高峰时段时间长度统计子单元,具体用于收集预设天数的每日高峰时段时间长度,对所获得的预设天数的每日高峰时段时间长度求平均值,得到每日高峰时段时间长度。优选的,所述计算单元,进一步包括高峰时段处理量百分比计算子单元,用于计算服务器高峰时段处理量占全天处理量的百分比;复杂度参数计算子单元,用于计算复杂度参数;优选的,所述复杂度参数计算子单元,具体用于查询获得服务器机型的基准性能指标;进行服务器达到性能极限时的压力测试,获得压力测试下的性能指标;计算两个性能指标之比,得到复杂度参数。优选的,所述复杂度参数计算子单元,具体用于获取当前在线应用系统服务器的容量、单位时间内完成的业务处理量、高峰处理量占全天处理量的百分比、每日高峰时段时间长度、中央处理器的利用率,冗余因数;根据以下公式计算系统的复杂度参数容量=单位时间内完成的业务统计处理量 *高峰处理量占全天处理量的百分比*复杂度参数*冗余因数/(每日高峰时段时间*中央处理器的利用率)。根据本申请提供的具体实施例,本发明公开了以下技术效果在现有信息系统数据中心和业务应用的基础上,本发明所设计的容量估算方法有效地反映了业界对各种应用系统服务器的重要性能标准,但具体估算方法又不局限于具体某种标准。在容量估算过程中针对不同业务应用的服务器,充分考虑了各应用系统的复杂性,通过复杂度参数的引入,消除不同应用系统的差异,实现对各应用系统服务器容量的通用的估算方法,也避免了为使用不同测试标准而搭建不同的测试环境所带来的开销,简化了对不同应用系统服务器的容量估算,降低了容量估算的复杂性,提高了估算效率。另外,在容量估算的过程中,由于利用当前在线应用系统服务器提供的实际数据进行估算,使估算结果与运行环境下的用户需求紧密结合,因此,能够减小估算容量与实际容量之间的误差,为未来应用系统的资源部署提供更为准确的依据,从而最大可能地避免由资源不足而导致业务中断,又能在投入新设备时提高设备资源利用率,以实现全局资源的优化部署。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明方法流程示意图;图2为本发明系统连接示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。参考图1所示,本实施例容量估算方法如下S101)统计服务器单位时间内完成的业务处理量Task、每日高峰时段时间长度T。根据特定的应用系统,获取单位时间内应用系统服务器完成的业务统计处理量, 例如,对于OLTP应用的服务器,Task为单位时间内完成的联机处理事务数量。而对于OLAP 应用的服务器,Task为单位时间内的完成的联机分析操作数量。对于应用中间件服务器 Task为单位时间内完成的业务操作数量。在具体实现时,可以通过在服务器上部署监控软件的方式来获取单位时间内服务器完成的业务处理量。不同应用系统服务器处理事务的分布是不均勻的,其中,最重要的是每日的业务量的高峰处理时段。例如,每日高峰处理时间集中在每日的4个小时,4*60 = 240分钟,T =240,即每日高峰处理时间集中在240分钟内完成。T的单位可以为分或秒,其决定于具体估算的应用系统服务器。例如,对于OLTP服务器,由于Task的单位为tpmC (transaction per minute C),即每分钟完成的联机处理事务数量,此时对应T应取分钟作为计算单位。又如,对于应用中间件服务器,Task的单位为bops (business operations per second),即每秒钟完成的业务操作,此时T应取秒作为计算单位。在具体实现时,为使得每日高峰时段时间长度更加真实地反映实际的使用趋势, 可以收集预先设定天数的每日高峰时段时间长度,对所收集到的多天的每日高峰时段时间长度求平均值,得到每日高峰时段时间长度。S102)计算服务器高峰时段处理量占全天处理量的百分比Per、复杂度参数S。对于各种应用系统服务器,其处理事务的时间分布通常不是均勻的。例如,在多数应用系统中,工作时段内的处理量可能远远大于非工作时段的处理量,考虑到这个因素,在容量估算中加入高峰时段处理量占全体处理量的百分比,能够体现服务器处理能力的不均勻分布性。例如,单位时间内80%的处理量集中在高峰时段内,则Per = 80%。复杂度参数S为实际业务应用中的处理操作相对于标准测试环境中的处理操作的复杂程度。对于各种类型应用系统服务器的S值,可以有以下两种的估算方法一种方法是根据各类应用系统服务器的典型交易计算S ;目前业界对于每一款商用计算机服务器都有一个由厂家发布或者由具有可信资质的第三方机构测试或者推算的基准性能指标,因此通过查询可以获得服务器机型的基准性能指标。针对某个具体的应用系统,搭建一个接近真实业务应用系统的测试环境,对该测试环境下的应用系统服务器进行压力测试,使得该服务器达到性能极限,获得该压力测试下的与查询所得同类的性能指标。例如,所诉的性能指标,为单位时间内完成的操作数量。将查询获得的服务器基准性能指标与通过压力测试得到的同类的性能指标相比, 即可以得到此业务应用系统服务器的复杂度参数。测量的模型和实际越吻合,测量的结果的偏差性就越小,对估算结果的参考意义就更大。如使用某台OLTP应用服务器,通过查询得到该服务器的性能指标为IOOOt pmC。对该服务器进行OLTP压力测试,得到的结果是每分钟完成100个交易。那么该应用服务器的复杂度参数为10。
第二种方法是根据现有应用系统的资源使用情况计算S ;企业内部在线的各类业务应用系统中,通过采样收集当前在线应用系统服务器的资源使用情况,代入容量估算公式中反推算出S值,该S值作为该类应用系统服务器的复杂度参数用于未来新应用系统服务器上线时的容量估算。如某业务应用的数据库服务器的处理能力为IOOOOt pmC,当前CPU使用率为 30 %,每日处理交易数20000,80%的交易集中在2小时内发生,业务系统服务器的冗余因数为1,则S = Capacity* (T *C) / (Task*Per*F) = 10000* (120*30% )/(20000*80% *1)= 22. 5可初步判断该业务应用的复杂度参数为22. 5。为使得该复杂度参数根据代表性,可分别选择多个该业务应用系统的服务器,分别计算S值,在对所有的S值计算结果求平均值,该平均值作为该类应用系统服务器的复杂度参数。容量估算过程中通过复杂度参数S的引入,消除不同应用系统服务器的差异,实现对各应用系统服务器容量的通用的估算方法。由于实际应用系统处理操作的复杂程度与标准测试中的处理操作存在较大的差异,复杂度参数的准确性直接影容量估算的准确性。 通过采样收集当前的资源使用情况,获得当前实际处理能力,代入估算模型中反推出接近的S值,使得计算出的复杂参数S最大可能的体现了实际的用户需求,估算出的容量更接近系统真实容量,对于指导未来应用系统的资源部署也提供了更准确的数据。S103)调整服务器冗余因数F、中央处理器的利用率C。通常在对应用系统服务器进行容量估算时需要考虑未来的业务需增加、用户数量的上升、性能的提高等不可准确预知的因素,如果未考虑这一部分负载的增加,可能会导致服务器上线不久因负荷过高而需要再次扩容。因此需要在容量估算时,对业务应用系统服务器未来一段时期的业务发展预留一定的冗余量。假设,在估算业务系统服务器未来3年的处理能力时,需要留出1倍的处理能力冗余,则F = 2。通常情况下,当一台服务器的CPU利用率高于80%时,则表明CPU的利用率过高, 此时较易产生业务系统的瓶颈。另外,考虑到进行系统管理时所消耗的一部分系统资源,如在进行数据备份、数据恢复、故障问题诊断、性能分析和软件维护时都会对应用系统服务器的CUP资源带来额外的消耗,因此,在估算服务器CPU利用率时,应对这部分操作保留一定资源。例如设定C = 70%,即利用率处于70%时,被估算的业务系统处于利用率最佳状态。S104)利用服务器单位时间内完成的业务处理量Task、每日高峰时段时间长度T、 高峰处理量占全天处理量的百分比Per、复杂度参数S、冗余因数F和中央处理器的利用率 C估算服务器容量。一种具体的估算方法是 Capacity = Task*Per*S*F/(T*C)该容量估算方法有效地反映了业界对各种应用系统服务器的各类性能标准,在估算过程中可以针对不同业务应用的服务器,充分考虑了各应用系统的复杂度,通过复杂度参数的引入,消除不同应用系统的差异,实现对各应用系统服务器容量的通用的估算方法。在容量估算的过程中,由于利用当前在线应用系统提供的实际数据进行估算,使估算结果与运行环境下的用户需求紧密结合,因此,能够减小估算容量与实际容量之间的误差,为未来应用系统的资源部署提供更为准确的依据,从而最大可能地避免由资源不足而导致业务中断,又能在投入新设备时提高设备资源利用率,以实现全局资源的优化部署。当然,在实际应用中,除了这种方法以外,也可以采用其他方式来实现,例如,在一次估算出应用服务器的容量后,可以进行多次估算,对所有估算结果取平均值的方法取得最终的容量估算结果,这里不再一一列举。参考图2所示,该图为本发明实施例所对应的系统连接图。统计单元201,用于统计服务器单位时间内完成的业务处理量、每日高峰时段时间长度。计算单元202,用于计算服务器高峰时段处理量占全天处理量的百分比、复杂度参数。 调整单元203,用于调整冗余因数和中央处理器的利用率。容量估算单元204,用于根据所述统计单元输出的服务器单位时间内完成的业务处理量和每日高峰时段时间长度,计算单元输出的高峰处理量占全天处理量的百分比和复杂度参数,调整单元输出的冗余因数和中央处理器的利用率估算服务器容量。容量估算单元,可以根据以下公式计算服务器的估算容量估算的容量=单位时间内完成的业务处理量*高峰处理量占全天处理量的百分比*复杂度参数*冗余因数/(每日高峰时段时间长度*中央处理器的利用率)。统计单元进一步可以由单位时间内业务处理量统计子单元和高峰时段时间长度统计子单元组成。单位时间内业务处理量统计子单元,负责统计服务器单位时间内完成的业务处理量。高峰时段时间长度统计子单元,负责统计每日高峰时段时间长度。具体实现时,高峰时段时间长度统计子单元可以收集预设天数的每日高峰时段时间长度,对所获得的预设天数的每日高峰时段时间长度求平均值,得到每日高峰时段时间长度。计算单元进一步包括可以包括高峰时段处理量百分比计算子单元和复杂度参数计算子单元。高峰时段处理量百分比计算子单元,用于服务器高峰时段处理量占全天处理量的百分比。复杂度参数计算子单元,用于计算服务器高峰时段处理量占全天处理量的百分比。复杂度参数计算子单元,可有多种实现方式。一种方法是,查询获得服务器机型的基准性能指标;进行服务器达到性能极限时的压力测试,获得压力测试下的性能指标;计算两个性能指标之比,得到复杂度参数。另一种方法是获取当前在线应用系统服务器的容量、单位时间内完成的业务处理量、高峰处理量占全天处理量的百分比、每日高峰时段时间长度、中央处理器的利用率,冗余因数,根据以下公式计算系统的复杂度参数容量=单位时间内完成的业务统计处理量 *高峰处理量占全天处理量的百分比*复杂度参数*冗余因数/(每日高峰时段时间*中央处理器的利用率)。以上对本发明所提供的一种容量估算的方法、系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种服务器容量估算的方法,其特征在于,包括步骤统计服务器单位时间内完成的业务处理量、每日高峰时段时间长度;计算服务器高峰时段处理量占全天处理量的百分比、复杂度参数;调整服务器冗余因数、中央处理器的利用率;根据所述服务器单位时间内完成的业务处理量、每日高峰时段时间长度、高峰处理量占全天处理量的百分比、复杂度参数、冗余因数和中央处理器的利用率估算服务器容量。
2.根据权利要求1所述的服务器容量估算的方法,其特征在于,所述根据所述服务器单位时间内完成的业务处理量、每日高峰时段时间长度、高峰处理量占全天处理量的百分比、复杂度参数、冗余因数和中央处理器的利用率估算服务器容量包括估算的容量=单位时间内完成的业务处理量*高峰处理量占全天处理量的百分比*复杂度参数*冗余因数/ (每日高峰时段时间长度*中央处理器的利用率)。
3.根据权利要求1所述的服务器容量估算的方法,其特征在于,所述计算复杂度参数, 包括查询获得服务器机型的基准性能指标;进行服务器达到性能极限时的压力测试,获得压力测试下的性能指标;计算两个性能指标之比,得到复杂度参数。
4.根据权利要求1所述的服务器容量估算的方法,其特征在于,所述计算复杂度参数, 包括获取当前在线应用系统服务器的容量、单位时间内完成的业务处理量、高峰处理量占全天处理量的百分比、每日高峰时段时间长度、中央处理器的利用率,冗余因数,根据以下公式计算系统的复杂度参数容量=单位时间内完成的业务统计处理量*高峰处理量占全天处理量的百分比*复杂度参数*冗余因数/ (每日高峰时段时间*中央处理器的利用率)。
5.根据权利要求1所述的服务器容量估算的方法,其特征在于,所述获取每日高峰时段时间长度包括收集预设天数的每日高峰时段时间长度,对所获得的预设天数的每日高峰时段时间长度求平均值,得到每日高峰时段时间长度。
6.一种服务器容量估算的系统,其特征在于,包括步骤统计单元,用于统计服务器单位时间内完成的业务处理量、每日高峰时段时间长度;计算单元,用于计算服务器高峰时段处理量占全天处理量的百分比、复杂度参数;调整单元,用于调整冗余因数和中央处理器的利用率;容量估算单元,用于根据所述统计单元输出的服务器单位时间内完成的业务处理量和每日高峰时段时间长度,计算单元输出的高峰处理量占全天处理量的百分比和复杂度参数,调整单元输出的冗余因数和中央处理器的利用率估算服务器容量。
7.根据权利要求6所述的服务器容量估算的系统,其特征在于,所述容量估算单元,具体以下公式计算服务器估算容量估算的容量=单位时间内完成的业务处理量*高峰处理量占全天处理量的百分比*复杂度参数*冗余因数/ (每日高峰时段时间长度*中央处理器的利用率)。
8.根据权利要求6所述的服务器容量估算的系统,其特征在于,所述统计单元,进一步包括单位时间内业务处理量统计子单元,用于统计服务器单位时间内完成的业务处理量;高峰时段时间长度统计子单元,用于统计每日高峰时段时间长度。
9.根据权利要求8所述的服务器容量估算的系统,其特征在于,所述高峰时段时间长度统计子单元,具体用于收集预设天数的每日高峰时段时间长度,对所获得的预设天数的每日高峰时段时间长度求平均值,得到每日高峰时段时间长度。
10.根据权利要求6所述的服务器容量估算的系统,其特征在于,所述计算单元,进一步包括高峰时段处理量百分比计算子单元,用于计算服务器高峰时段处理量占全天处理量的百分比;复杂度参数计算子单元,用于计算复杂度参数。
11.根据权利要求10所述的服务器容量估算的系统,其特征在于,所述复杂度参数计算子单元,具体用于查询获得服务器机型的基准性能指标;进行服务器达到性能极限时的压力测试,获得压力测试下的性能指标;计算两个性能指标之比,得到复杂度参数。
12.根据权利要求10所述的服务器容量估算的系统,其特征在于,所述复杂度参数计算子单元,具体用于获取当前在线应用系统服务器的容量、单位时间内完成的业务处理量、高峰处理量占全天处理量的百分比、每日高峰时段时间长度、中央处理器的利用率,冗余因数;根据以下公式计算系统的复杂度参数容量=单位时间内完成的业务统计处理量*高峰处理量占全天处理量的百分比*复杂度参数*冗余因数/(每日高峰时段时间*中央处理器的利用率)。
全文摘要
本发明公开了一种服务器容量估算的方法和系统。本发明的方法包括统计服务器单位时间内完成的业务处理量、每日高峰时段时间长度;计算服务器高峰时段处理量占全天处理量的百分比、复杂度参数;调整服务器冗余因数、中央处理器的利用率;根据服务器单位时间内完成的业务处理量、每日高峰时段时间长度、高峰处理量占全天处理量的百分比、复杂度参数、冗余因数和中央处理器的利用率估算服务器容量。本发明还公开了一种服务器容量估算的系统。本发明通过复杂度参数的引入,消除不同应用系统的差异,实现对各应用系统服务器容量的通用的估算方法,提高了估算的效率,利用当前在线应用系统提供的实际数据进行估算,减小估算容量与实际容量之间的误差。
文档编号G06F9/50GK102411515SQ20111021491
公开日2012年4月11日 申请日期2011年7月29日 优先权日2011年7月29日
发明者刘冬梅, 张祎, 李济伟, 来风刚, 胡威, 范鹏展 申请人:国网信息通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1