首页> 中国专利> 针对联机事务处理应用的跨机型容量规划方法

针对联机事务处理应用的跨机型容量规划方法

摘要

一种针对OLTP应用的跨机型容量规划方法,该方法包括:执行OLTP应用伸缩性评测,以确定OLTP应用是否存在伸缩性问题;如果确定OLTP应用不存在伸缩性问题,则对不同机型执行性能对比测试,以得到所述不同机型的运行性能;根据得到的所述不同机型的运行性能,计算不同机型的性能比值;需要基于性能对比测试中得出的不同机型的性能比值,得到跨系列的各机型性能值,并将获得的性能值输入到容量规划参数库,得到新的容量规划参数库,使得可以跨机型进行性能比较和性能预测;以及利用所述新的容量规划参数库,运用容量规划的建模方法和容量规划工具,完成针对该OLTP应用的跨机型容量规划。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-04-27

    授权

    授权

  • 2008-09-17

    实质审查的生效

    实质审查的生效

  • 2008-06-18

    公开

    公开

说明书

技术领域

本发明一般涉及IT系统规划设计的主机容量规划,特别是涉及针对具体OLTP(联机事务处理)应用的基于性能对比测试的跨机型容量规划方法。

背景技术

容量规划是指为了确保系统能在将来高效地工作,将系统负载匹配为支持此负载所需的最合适的服务器硬件的过程,用于指导容量设计和投资,以保证IT花费的合理性。做容量规划需要相应的技术手段来预测系统在增加负载或用户数量时、在假定的硬件配置下能够提供的服务水平,这往往借助容量规划工具建立容量分析模型来实现。

在IT系统规划设计的过程中,需要对目标计算机系统进行容量测算,并以此为依据进行设备选型。目前业界标准的基准测试种类繁多,包括TPC-C,TPC-H,SPEC int,SPEC web,SPECjbb,SAPSD等等,不同基准测试反映的是机器在不同应用条件下的性能。虽然各种基准测试指标具有一定的参考价值,但是存在以下问题:

1.不同类型(厂商)的机型在主机板结构、CPU设计、IO设计上都有较大差异,运行不同应用的性能表现会出现变化,这就导致两款机器的性能差距在不同基准测试指标中往往会有较大变化;

2.各种公布的基准测试指标都是在原厂家经过精细充分的性能优化后得出的,现有部署的系统往往不能达到该指标;

3.实际容量测算的过程中,具体OLTP应用对交易事务或者任务的定义与基准测试中的定义不一致,且比例关系不清楚,只是凭借经验估计,误差较大,如,用户的OLTP系统中的某个交易事务与TPC-C测试中的基准事务是不一致的;

4.有些厂商未参加全部的基准测试,给选型参考也造成了很大的困难,如,SUN公司近年未参加TPC-C测试;

5.主流的容量规划工具(如TeamQuest Model)通过厂商提供的容量规划参数库能够较好的完成同类型不同档次机器的性能预测,但是基于与第1点同样的理由,无法提供准确的跨机型的性能预测,需要用户输入不同类型机器的性能比值。

因此,在IT系统规划设计的主机容量规划领域迫切需要一种针对具体OLTP应用基于不同类型计算机主机性能对比测试的跨机型容量规划与性能预测方法,进行更为精准的设备选型。

发明内容

本发明的目的是提高针对具体OLTP应用跨机型性能预测的准确程度,提高投资有效性和利用率,使得设备选型能够选择合适的机器,避免性能不足或者性能过剩。

本方法是在确认OLTP应用软件没有伸缩性问题后,通过针对实际应用的不同机型的性能测试,得到不同机器的运行性能的对比,然后根据该比值,扩展容量规划参数库,运用容量规划的建模方法和容量规划工具,完成针对该应用的准确的跨机型容量规划和性能预测。

根据本发明,提供了一种针对联机事务处理(OLTP)应用的跨机型容量规划方法,该方法包括:执行OLTP应用伸缩性评测,以确定OLTP应用是否存在伸缩性问题;如果确定OLTP应用不存在伸缩性问题,则对不同机型执行性能对比测试,以得到所述不同机型的运行性能;根据得到的所述不同机型的运行性能,计算不同机型的性能比值;需要基于性能对比测试中得出的不同机型的性能比值,得到跨系列的各机型性能值,并将获得的性能值输入到容量规划参数库,得到新的容量规划参数库,使得可以跨机型进行性能比较和性能预测;以及利用所述新的容量规划参数库,运用容量规划的建模方法和容量规划工具,完成针对该OLTP应用的跨机型容量规划。

根据本发明的方法解决了现有容量规划工具不能完成的跨机型进行容量规划和性能预测的问题,采用将实验环境的严格性能对比测试与容量规划过程相结合的方式,科学的反映了具体OLTP应用在不同机型平台上的性能表现差异。

此外,根据本发明的方法能够指导跨机型容量规划,提高投资有效性和利用率,使得设备选型能够选择合适的机器,避免性能不足或者性能过剩,并且根据本发明的方法还避免了应用软件伸缩性和在某些平台性能调优不充分导致的性能下降问题给设备选型、容量规划带来的严重干扰。

附图说明

以下附图构成说明书的一部分并提供对本发明的进一步说明,说明本发明的实施例。

图1示出根据本发明的针对具体OLTP应用的基于性能对比测试的跨机型容量规划方法的流程图;

图2示出容量规划过程的基本原理。

具体实施方式

在具体描述本发明的实施例之前,首先明确以下术语:

伸缩因子(Stretch Factor):伸缩因子=(排队等待时间+服务时间)/服务时间=1/(1-利用率),当伸缩因子小于2时,CPU利用率(Utilization)基本随负载压力的增加近似线性的缓慢增加,排队等待时间(Queue Time)小于服务时间(Service Time);当伸缩因子=2时,CPU利用率为50%;当CPU利用率继续增加时,超过70%时,伸缩因子和排队长度(Queue Length)(根据排队网络理论,排队长度=伸缩因子-1)开始快速地非线性增长。

PerfA机型/B机型:A机型比B机型的性能比。

Throughput:测试得出的吞吐速率。

CPUUtil:测试时的主机CPU利用率。

图1示出根据本发明的针对具体OLTP应用的基于性能对比测试的跨机型容量规划方法的流程图。

如图1所示,在步骤S1中,执行OLTP应用软件伸缩性评测,以确定OLTP应用是否存在伸缩性问题。如果确定OLTP应用存在伸缩性问题,则过程结束。如果确定OLTP应用不存在伸缩性问题,在过程进到步骤S2。在步骤S2中,制定性能对比测试方案,性能对比测试方案用于指导性能对比测试的实施。然后,过程进行到步骤S3。在步骤S3中,实施性能对比测试,即按照性能对比测试方案实施测试,并记录测试结果,其中测试的指标包括:并发数、各机型的CPU利用率和IO吞吐以及响应时间等。在完成测试之后,过程进行到步骤S4。在步骤S4中,计算不同机型(即该机型的机器)的性能比值,具体的不同机型的性能比值的计算将在下文中详细描述。在完成不同机型的性能比值的计算之后,确定比值是否超出预期范围。如果比值是否超出预期范围,则过程结束。如果比值未超出预期范围,则过程进行到步骤S5。在步骤S5中,将性能对比测试中得出的不同厂商机型的性能比值输入到容量规划参数库,使得跨机型可以进行性能比较和性能预测。在将性能比值输入到容量规划参数库之后,过程进行到步骤S6。在步骤S6中,执行跨机型的容量规划。

下面,针对附图1中的各步骤进行详细的描述。

OLTP应用软件伸缩性评测

在附图1描述的步骤S1中,进行OLTP应用的伸缩性评测,以确认OLTP应用对于变化的负载压力具有可靠的伸缩能力,不存在由于内部数据结构和算法上的严重缺陷,使得性能表现随负载压力的增加急剧下降。OLTP应用伸缩性评测的具体实施过程如以下所述。

根据本发明的OLTP应用伸缩性评测可采用自动化性能测试方法实施,压力工具的选取可以使用工业主流的如MercuryLoadRunner,也可以采用自行编写的压力测试程序。

根据本发明的OLTP应用伸缩性评测选取主要的且实际压力大的业务操作用例以CLOSED封闭型(即以固定并发数)方式持续对OLTP应用软件施压,并且测试可以单一用例场景和综合施压场景构成。

然后,对OLTP应用实施压力测试,并合理地控制并发数和测试迭代间的间隙,原则上使得各机型CPU利用率<70%(对于典型的OLTP系统IO吞吐也较低),且排队系统中各个队列不存在排队等待现象(如,保证OLTP应用软件的请求队列不排队等待),总体上保证计算机系统整个排队网络处于线性伸缩的范围,伸缩因子,(排队等待时间+服务时间)/服务时间接近1;

在如上对OLTP应用软件执行了压力测试后,根据以下标准判定OLTP应用是否存在伸缩性问题:

a)以Little定律校验测试结果:根据Little定律计算CLOSED封闭型的排队网络模型中的并发数N,N=R*T(R:响应时间,T:吞吐速率(Throughput)),验证理论的并发数N与施压的并发数一致;

b)在测试用例不同并发压力下,CPU利用率与吞吐速率成正比;

c)多用例的混合压力下,CPU利用率与各个单用例情况下的CPU利用率符合叠加关系,如A+B≈C,D+E≈F;且吞吐速率也是叠加关系;

d)若满足a),b),c)则不存在伸缩性问题,否则,存在伸缩性问题

若该OLTP应用存在伸缩性问题,则不适宜进行容量规划和性能预测,需要完成软件改善后重新进行,或者根据在实际设备上的测试指标做作为设备选型的依据;若无伸缩性问题,可以继续。

制定性能对比测试方案

在OLTP应用软件伸缩性评测已完成,并且确定OLTP应用无伸缩性问题之后,如附图1的步骤S2所述的制定性能对比测试方案。

性能对比测试方案的确定是为了用于指导性能对比测试的实施,包括例如如下描述的内容。

1、确定测试环境,包括:确定参加性能对比测试的机型环境,例如:假设参加性能对比测试的机型为不同厂家的A机型和B机型,但本领域技术人员应当理解上述两种机型仅是示例性的,参加性能对比测试的机型不仅限于两种机型,可以根据需要是任意数量的机型;以及确定OLTP应用在各机型的部署方案和部署参数(例如包括OLTP应用软件的版本、OLTP应用软件内存参数或OLTP应用软件队列参数等影响系统性能的重要参数),其中各种对性能表现影响大的参数尽量保持一致或者针对平台进行一定的优化。例如:如果OLTP应用系统包含了Oracle数据库的话,Oralce数据库的主要参数应该在A机型和B机型上保持一致。

2、在确定了测试环境之后,确定数据准备方案,例如确定使用何时的数据,包含了多少数据量,测试时涉及的数据有多少等,并保证性能对比在相同的数据下进行,以保证各个环境的数据一致且数据库统计信息一致。

3、获取被测OLTP应用软件的用户的使用信息,包括常用操作、操作频度、并发用户数等等。

4、确定负载模拟方案。在本发明中,可采用自动化性能测试方法实施,压力工具的选取可以使用工业主流的如MercuryLoadRunner,也可以采用自行编写的压力测试程序。根据用户业务调查结果,选取操作频繁的且实际压力大的业务操作用例以CLOSED封闭型(即以固定并发数)方式持续对OLTP应用软件施压,并且测试以多个场景构成,每个场景包括单一用例。合理地控制并发数和测试迭代间的间隙,原则上使得各机型CPU利用率<70%(对于典型的OLTP系统IO吞吐也较低),且排队系统中各个队列不存在排队等待现象(如,保证Tuxedo Server的请求队列不排队等待),总体上保证计算机系统整个排队网络处于线性伸缩的范围,伸缩因子伸缩因子,(排队等待时间+服务时间)/服务时间接近1。

在确定了确定负载模拟方案之后,确定性能比值计算方案及评价标准。可以认为由于通过了伸缩性评测,在各个机型平台上,计算机系统排队网络处于线性伸缩范围时,各个测试用例能够线性伸缩;在该OLTP应用的逻辑是稳定的情况下,“单位事务消耗CPU”也是稳定的;并可采用PerfA机型/B机型=(CPUUtil B机型×ThroughputA机型)/(CPUUtilA机型×Throughput B机型)计算性能比值,其中CPUUtil B机型表示B机型的CPU利用率,CPUUtil A机型表示A机型的CPU利用率。

此外,可以根据该OLTP应用的特性(C/C++,JAVA,WEB,SAP等)确定适当的工业基准测试指标对比值,作为参考,并根据实际需要确定一定的可承受的变化范围(单一用例和综合情况分别制定)。若实际计算的性能比值超出该范围,则说明该OLTP应用在某机型平台上尚未进行相对另一机型平台上同等水平的性能优化,建议针对该问题机型平台进行性能优化或者放弃采用该平台。

实施性能对比测试

在性能对比测试方案的制订完成之后,如附图1的步骤S3所述的实施性能对比测试。

该性能对比测试按照性能对比测试方案实施,并记录测试结果,其中测试的重要的指标例如包括:并发数、各机型的CPU利用率和IO吞吐以及响应时间。

计算不同机型的性能比值

在性能对比测试完成之后,如附图1的步骤S4所述的计算不同机型的性能比值。

对于不同机型的性能比值的计算,针对各个单一用例,可按照PerfA机型/B机型=(CPUUtilB机型×ThroughputA机型)/(CPUUtilA机型×ThroughputB机型)计算针对该用例的性能比值。

此外,可以根据用户业务调查得出各用例在实际负载中的比例,根据该比例进行各个单一用例PerfA机型/B机型比值的加权平均,得出系统的综合性能比值。

此外,若各个单一用例PerfA机型/B机型比值超出方案中预定的相应的范围或者系统综合性能比值超出预定的相应的范围,则认为该OLTP应用对于该用例/整体在某机型平台上尚未进行相对另一机型平台上同等水平的性能优化,可针对该机型平台进行性能优化或者放弃采用该平台。

输入容量规划参数库

在不同机型的性能比值计算完成之后,如附图1的步骤S5所述的将计算的性能比值输入容量规划参数库。

在主流的容量规划工具(如TeamQuest Model)中有容量规划参数库,为每一个系列每一种机型定义了一个性能指标,但是这个性能指标仅在同一系列的各机型间才具备可比性(如同为HP,或者同为SUN的各档次机器之间的性能指标具备可比性),不同系列的机型间的性能指标不具备任何可比性,因此无法完成容量模型的跨厂商机型预测。

因此,需要基于性能对比测试中得出的例如两款厂家机型的性能比值,得到跨系列(厂家)的各机型性能值,并将获得的性能值输入到容量规划参数库,得到新的容量规划参数库,使得跨机型可以进行性能比较和性能预测。在容量规划库中,例如各机型数据按如下格式列出:

  机型系列  机型型号  性能值  厂家I  机型A  2.200000e+002  厂家II  机型B  8.040000e+002

由于两个机型分属不同的系列,因此性能值不具可比性,但是经过对比测试,可知PerfA机型/B机型的性能比值,假如:PerfA机型/B机型=2,则可以通过计算在机型系列“厂家I”中加入机型型号“机型B”,并在机型系列“厂家II”中加入机型型号“机型A”,公式如下:

机型B在厂家I中的性能值=机型A/PerfA机型/B机型=2.200000e+002/2=1.100000e+002

机型A在厂家II中的性能值=机型B*PerfA机型/B机型=2.200000e+002*2=16.080000e+002

增加新参数后的容量规划参数库如下表:

  机型系列  机型型号  性能值  厂家I  机型A  2.200000e+002  厂家I  机型B(厂家II)  1.100000e+002  厂家II  机型B  8.040000e+002  厂家II  机型A(厂家I)  16.080000e+002

增加参数后,在容量规划工具(TeamQuest)的厂家I的列表中,可以看到厂家II的机型B,性能值为:1.100000e+002;同理,在厂家II的列表中,可以看到厂家I的机型B,性能值为:16.080000e+002。这两个数值可用于容量规划。

执行跨机型的容量规划

跨系列的各机型性能参数输入容量规划库后,可利用容量规划过程中基于生产环境实际负载或者模拟环境压力测试建立的系统排队网络模型(如在TeamQuest Model中建立的模型),假定在各系列、各机型配置和变化的业务负载下,预测应用系统的性能表现。图2示出了容量规划过程的基本原理。图2所示的容量规划方法与常规的方法相同,在此不再赘述。

对于本发明来说,没有输入跨系列的各机型性能参数前,在机型A上建立的系统排队网络模型仅可以用来预测该模型在厂家I其他机型上的性能表现(如厂家I的机型C),但输入跨系列的各机型性能参数后,可用该模型预测在厂家II的机型上的性能表现(如厂家II的机型B),由此实现了跨机型容量规划。

虽然本发明的详细说明是针对示范实例的,但对于本领域技术人员来说,这些实施例的各种修改形式以及替换形式都是可设想的。因此,本发明涵盖了所有在所附权利要求明确的本发明专利保护范围内的修改形式和替换形式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号