应用系统资源需求测算系统
技术领域
本发明涉及应用系统资源机网络,具体涉及一种应用系统资源需求测算系统。
背景技术
随着信息化技术的发展,信息系统对软硬件平台的性能、可靠性要求越来越高。在企业环境中传统的应用系统多采用“竖井式”的建设方法,软硬件平台资源不能共享,平台设备数量呈爆炸式增长,迅速耗尽机房等资源,设备的多样性也给信息系统的运行维护带来很大难度。而随着虚拟化和云应用系统资源技术的发展和应用,资源的共享和动态分配成为可能,越来越多的应用系统被部署到云环境中,它们共享基础设施中的计算资源,并根据各自的需求,进一步请求和竞争计算资源。一方面,应用系统的服务质量会很大程度地引起用户满意度的变化,需要给其分配足够的计算资源以实现合适的系统性能;
另一方面,应用系统不应占有过多的计算资源,以免资源浪费。
在信息技术领域,容量规划用来评估将来某一段时间内系统所需要的资源(包括应用系统资源机软硬件和网络带宽)等。容量规划的最终目标是,长时间内,使得提供给资源恰好能够满足系统有效运行,而不会过早地给系统过多的资源。
现有技术中,有许多技术可用于容量规划中的性能预测,如关键指标、趋势分析、性能模型和基准测试。但是,现有的容量规划技术通常都是针对某一特定设备或软件在特定的场景下进行的,缺少对企业信息系统全部软硬件、以及对设备在其整个生命周期内应用系统资源需求的整体性考虑;而且,现有技术中的硬件资源性能通常为理想条件下的理论值,且固化于软件或产品当中,无法满足企业软硬件多样化的自控管理要求。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供一种应用系统资源需求测算系统,可以实现应用系统中整体软硬件在整个生命周期各阶段内对资源需求的测算,同时有利于对硬件资源性能基准库的灵活管理。
(二)技术方案
为实现以上目的,本发明通过以下技术方案予以实现:
一种应用系统资源需求测算系统,其特征在于,该系统包括:
模型构建模块,用于依据理论构建理论响应时间关于所用设备组的设备参数,和,系统任务并发数或任务到达速率的函数模型;
模型校正模块,用于根据设备组的实际测试结果校正所述函数模型中对应于该设备组的设备参数;
资源测算模块,用于根据所述函数模型,利用所述模型校正模块测算各设备组在处理用户给定的系统任务并发数或任务到达速率时的理论响应时间;
所述设备参数包括性能折旧率。
优选地,所述设备参数还包括:每个设备的处理速率、空转时的CPU利用率、数据库查询复杂度、和输入输出延迟时间。
优选地,所述模型构建模块包括:
单个设备构建单元,用于依据理论构建多个设备组中单个设备的平均响应时间关于所用设备组的设备参数,和,系统任务并发数或任务到达速率的函数关系;
设备组构建单元,用于依据理论构建各设备组的总体响应时间关于设备组中单个设备的平均响应时间的函数关系;
应用系统构建单元,用于依据理论构建整个应用系统的理论响应时间关于各设备组的总体响应时间的函数关系。
优选地,所述单个设备构建单元中,设备组中多个并联的单个设备中设备i在系统任务并发数为m时的平均响应时间Ti(m)以Ti(0)=0为起点通过下式迭代计算得到:
其中μi为设备i的处理速率、βi为设备i空转时的CPU利用率、γi为设备i的数据库查询复杂度、τi为设备i输入输出延迟时间设备参数、αi为设备i的性能折旧率、pi或pj为任务分配给设备i或设备j的概率,K为该设备组中并联的设备总数。
优选地,该系统还包括需求预测模块,用于基于自学习优化方法以历史数据预测未来的资源需求。
优选地,所述需求预测模块包括:
预测模型选择单元,用于以分时段的资源需求的历史数据从常见拟合函数中选择出方差最小的作为资源需求预测模型;
预测模型自学习单元,用于以分时段的资源需求的历史数据作为训练数据对所述资源需求预测模型进行参数学习;
需求预测单元,用于利用经过参数学习后的所述资源需求预测模型根据输入的资源需求预测未来的资源需求。
优选地,所述资源需求包括系统任务并发数、任务到达速率、内存占用量或硬盘空间占用量。
优选地,所述需求预测模块还包括:响应时间预测单元,用于根据预测得到的未来的系统任务并发数或任务到达速率,利用资源测算模块计算对应的理论响应时间作为未来响应时间的预测值。
优选地,该系统还包括:设备筛选模块,用于将所述理论响应时间不大于用户的期望响应时间的设备组加入到备选设备方案集中。
优选地,该系统还包括:成本排序模块,用于将备选设备方案集中的设备组按照使用成本从低到高的顺序进行排序。
(三)有益效果
本发明至少具有如下的有益效果:
本发明的关键在于在由应用系统性能进行资源需求测算时,充分考虑到了所使用硬件设备组中各个设备的特性。比如,实际使用的设备在使用过程中会不可避免地出现性能折旧,亦即性能下降的情况,而且不同设备在不同时间段内的下降程度都是有所差别的。所以,本发明在构建理论响应时间关于包括性能折旧率的设备参数和系统任务并发数的函数模型之后,就可以将以任意手段获取的设备参数用于资源需求的测算了。当然,为保证设备参数精确程度,可以适时地用实际测试结果校正所述函数模型中对应于该设备组的设备参数。
因为在进行资源需求的测算时,已经加入了所用设备组的设备参数这一因素,所以采用的硬件设备无论处于何种组合状态或是使用年限,都会在资源需求的测算过程中体现,也就是说实现了应用系统中整体软硬件在整个生命周期各阶段内对资源需求的测算。
另外,由于使用了设备参数描述了不同种类设备在同样的应用情景下的性能,所以可以利用这一点方便地进行企业环境中多样化设备的管理,也就是有利于对硬件资源性能基准库的灵活管理。
相对于现有技术中忽视硬件性能参数的特殊性和可变性的做法,本发明所提出的系统可以达到更高的测算准确度,同时有利于实现实际应用中特别是企业管理环境中的高效容量规划。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例中一种应用系统资源需求测算系统的结构和原理示意图;
图2是本发明一个实施例中计算系统的逻辑处理部分的模型示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、
完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提出了一种应用系统资源需求测算系统,参见图1,该系统包括:
模型构建模块101,用于依据理论构建理论响应时间关于所用设备组的设备参数,和,系统任务并发数或任务到达速率的函数模型;
模型校正模块102,用于根据设备组的实际测试结果校正所述函数模型中对应于该设备组的设备参数;
资源测算模块103,用于根据所述函数模型,利用所述模型校正模块测算各设备组在处理用户给定的系统任务并发数或任务到达速率时的理论响应时间;
所述设备参数包括性能折旧率。
也就是说,由模型构建模块提供函数模型,用以根据系统任务并发数和设备参数计算处理这些任务的理论响应时间,具体的函数模型可以依据相关的理论构建。而资源测算模块具体根据这一函数模型进行计算,其系统任务并发数或任务到达速率由用户给定,而所用设备组的设备参数可以由任意途径获取,比如根据所用设备说明书上的工作参数进行理论推导,或是通过一定手段测试获得。但为了保障精度,需要在获取设备参数后用实际测试结果校正设备参数。很明显地,实际测试结果具体指的就是测试指定的设备组在一定系统任务并发数下响应时间,可以依据实际测试结果在所述函数模型下拟合或校正设备参数(每次改变同一参数,保持其他参数不变,得到多组测试结果,用来得到该参数的拟合值或校正值)。
如上文有益效果中所述,该系统可以实现应用系统中整体软硬件在整个生命周期各阶段内对资源需求的测算,同时有利于对硬件资源性能基准库的灵活管理。
优选地,该系统还包括设备筛选模块,用于将所述理论响应时间不大于用户的期望响应时间的设备组加入到备选设备方案集中;和成本排序模块,用于将备选设备方案集中的设备组按照使用成本从低到高的顺序进行排序。
也就是说,利用该系统根据系统任务并发数和设备组计算出的处理这些任务的理论响应时间,可以定量地表示出这套设备组的在处理用户给定的系统任务并发数或任务到达速率时的处理速率,从而可以根据这一点来按照期望的响应时间来挑选出符合要求的设备组。当然,还可以以一个设备数据库来记录每个设备的设备参数以及价格,就能实现在设备选择上的综合比较,可以利用其获取更高的性价比或经济效益。
实施例2
本发明实施例在实施例1的基础之上,提供了一种优选的模型构建模块,包括:
单个设备构建单元,用于依据理论构建多个设备组中单个设备的平均响应时间关于所用设备组的设备参数,和,系统任务并发数或任务到达速率的函数关系;
设备组构建单元,用于依据理论构建各设备组的总体响应时间关于设备组中单个设备的平均响应时间的函数关系;
应用系统构建单元,用于依据理论构建整个应用系统的理论响应时间关于各设备组的总体响应时间的函数关系。
优选地,所述单个设备构建单元中,设备组中多个并联的单个设备中设备i在系统任务并发数为m时的平均响应时间Ti(m)以Ti(0)=0为起点通过下式迭代计算得到:
其中μi为设备i的处理速率、βi为设备i空转时的CPU利用率、γi为设备i的数据库查询复杂度、τi为设备i输入输出延迟时间设备参数、αi为设备i的性能折旧率、pi或pj为任务分配给设备i或设备j的概率,K为该设备组中并联的设备总数。
下面以一个更加具体的方案详细说明本发明实施例所提出的模型构建模块。
一般而言,对于一个计算系统,通常由WEB server(网络服务器)、APP server(应用服务器)和DB server(数据库服务器)组成,并且WEB server、APP server和DB server均可以由多台设备组成。进一步对计算系统的逻辑处理部分(App server和DB server)进行模型抽象,得到如图2所示的模型示意图。
仅考虑多个并联设备组成的应用服务器,对于应用服务器组中的任一台设备i而言,设其处理速率为μi、性能折旧率为αi、空转时的CPU利用率为βi、数据库查询复杂度为γi、输入输出延迟时间为τi,则在计算系统任务并发数为m时,该设备的平均响应时间Ti(m)满足:
其中,Li(m)表示设备i在总任务数为m时的平均等待队列长度,其等于此时设备i的吞吐量Pi(m)与平均响应时间Ti(m)的乘积,即
Li(m)=Pi(m)Ti(m)
而且,吞吐量(有任务分配给设备i时)
其中pi或pj代表任务分配给设备i或设备j的概率,K代表应用服务器组的设备总数。综合上面三个式子,可以得到Ti(m)的迭代关系:
由于对于任何一个设备,当没有任务在这个设备上时(无论是等待还是被处理),这个设备的平均等待队列长度Li(0)=0,即Ti(0)=0,这就是迭代计算的起点,依次计算m=0、1、2、…、M时每一个设备的平均响应时间,就可以计算得到所关心的m=M时任一个设备i的吞吐量Pi(M)。
又由于所有的应用服务器是并联关系,所以总体上应用服务器组的有效处理速率应该是其中每个设备的分支吞吐量之和,即
同样地对于数据库服务器组,其总体的有效处理速率
接下来,对于串联的应用服务器组和数据库服务器组,同样有
Li(m)=Pi(m)Ti(m)
其中i=App或DB,分别代表应用服务器组和数据库服务器组。根据这三个式子,同样可以得到关于Ti(m)的迭代关系
通过迭代计算得到m=M时应用服务器组和数据库服务器组的吞吐量,也就是这一串联系统的有效处理速率
VSys(M)=PApp(M)=PDB(M),
这个Vsys(m)就代表了整个计算系统的处理能力,若系统任务并发数为M,则计算系统的理论响应时间
TResponse(M)=TApp(M)+TDB(M)
如果此时整个计算系统的任务到达速率λ(单位时间内到达的系统任务并发数),那么就可以计算整个计算系统在这种稳态下的理论响应时间
其中n为整个计算系统的最大任务并发量(不饱和时即为待处理系统任务并发数,即同时运行在计算机系统内的任务数的最大值,饱和时即为计算系统的可以同时处理的最大并发任务数)。
自此,就完成了对理论响应时间TResponse关于系统任务并发数M或任务到达速率λ,以及设备组的设备参数(包括任一设备i的处理速率μi、性能折旧率αi、空转时的CPU利用率βi、数据库查询复杂度γi、和输入输出延迟时间τi)的函数模型,也就是确定了整个资源需求测算系统的主要测算方法,在进行模型校正或是资源测算时,都会按照上述流程来进行相应的计算。
可见,该函数模型主要以流守恒和中值分析理论为框架,较为真实地刻画了较为一般的应用系统下理论响应时间与系统任务并发数或任务到达速率、以及所用设备组的设备参数的关系,且几乎没有人为参与的因素,计算可以通过程序实现,较为快速、准确。
当然,本发明实施例只是一种优选的模型构建模块,本领域技术人员还可以在不同的应用系统结构下参照本发明实施例提出其他包括更多或更少设备参数的模型构建模块或函数模型,也可以对本发明实施例进行一定程度的简化或扩充,其都没有脱离本发明技术方案的精神和范围。
实施例3
本发明实施例提出一种带需求预测功能的应用系统资源需求测算系统,在实施例1的基础上,系统还包括需求预测模块,用于基于自学习优化方法以历史数据预测未来的资源需求。
所述需求预测模块包括:
预测模型选择单元,用于以分时段的资源需求的历史数据从常见拟合函数中选择出方差最小的作为资源需求预测模型;
预测模型自学习单元,用于以分时段的资源需求的历史数据作为训练数据对所述资源需求预测模型进行参数学习;
需求预测单元,用于利用经过参数学习后的所述资源需求预测模型根据输入的资源需求预测未来的资源需求。
优选地,所述资源需求包括系统任务并发数、任务到达速率、内存占用量或硬盘空间占用量。
优选地,还包括响应时间预测单元,用于根据预测得到的未来的系统任务并发数或任务到达速率,利用资源测算模块计算对应的理论响应时间作为未来响应时间的预测值。
具体来说,也就是先采集资源需求的历史数据,也就是对于某具体参数如系统任务并发数、任务到达速率、内存占用量或硬盘空间占用量在一段时间内的变化趋势或规律。然后将其分时段,将一部分作为另一部分的函数按常见的拟合函数中选取拟合方差最小的作为资源需求预测模型。然后再以另外一些分时段的历史数据作为训练数据对选取得到的拟合函数进行参数学习,以尽量减小预测模型的预测偏差。最后在需要预测时只需将预测目标前一段对应时间段内的数据作为历史数据输入预测模型,就可以在经过学习优化后的参数计算下输出预测结果了。
优选地,可以根据预测得到的来的系统任务并发数或任务到达速率,利用资源测算模块计算对应的理论响应时间作为未来响应时间的预测值。从而可以预测当前的设备组是否足以满足未来的应用系统的资源需求。当然,也可以对每个设备参数以相同的方法进行预测,可以更加具体地了解未来的设备、资源、需求的变化情况。
下面以一个更具体的例子来说明本发明实施例所提出的模块:
1、设定预测模型的公式集:
目前设定了7种方法作为预测模型的公式集,分别是:一次移动平均、二次移动平均、一次指数平滑、二次指数平滑、一元一次线性回归,带log的线性回归、带虚变量的线性回归等公式方法。这些公式方法可以进行扩充和补充。
2、对历史数据进行预处理:
对于给定的历史采集数据先进行划分。将整个数据集一分为二,前半部分为训练集;后半部分为预测集。
3、模型学习
训练集的前2/3的数据作为方法的学习部分,这个部分用作预测模型的公式集中7种方法的参数学习。
4、模型选择
训练集的后1/3作为方法的拟合部分,根据训练集前2/3的学习得到的参数进行预测,并与真实的数据进行对比,选择出所有预测结果中方差最小的公式方法A作为模型的方法。
5、预测集的模型训练
预测集完全作为公式方法A的训练数据,用于该方法的参数学习。
6、预测集的模型预测
利用已经设置好参数的方法A对数据的趋势进行预测。
上面为对所有资源需求预测的一般方法,对于响应时间的预测而言,首先对运维监控数据中的高峰期事务到达率的历史数据进行未来趋势预测,预测方法与上面相同。然后代入运行维护的监控数据也就是历史数据中的高峰期事务到达率的预测结果,输入到上述任意一种的资源测算模块得到理论响应时间,即可得到预测的响应时间序列。
本发明实施例的技术方案带来的有益效果如下:实现了IT资源需求的自动化计算,达到IT资源估算、IT资源容量管理的自动化。为应用系统建设的资源申请、审核等提供准确保障,避免和减少不必要的投资,降低投资风险;通过性能预测,提前做好预防措施,减少运维故障。
综合实施例1、2、3的应用系统资源需求测算系统,还可以实现企业选用设备组的灵活管理和综合规划。结合对原有设备组的设备参数预测、以及所选用设备的购买价格、折旧等等,可以综合考虑所选用设备在应用系统整个生命周期各阶段所发挥的性能与使用它产生的成本,这样一来就可以依据该系统通过模拟计算根据用户的需求变化规划出一套满足性能要求而使成本尽可能低的设备方案,有利于企业的综合发展。
例如,在应用系统的设计阶段(指系统完成了详细的设计,研发尚未完成的阶段)中,本发明可以通过对已知设备组的资料整理提供给用户关于资源需求的数据字典、应用系统的概要和详细的设计文档,以及应用系统部署架构图等信息。而在应用系统的原型阶段(指系统完成了研发工作,尚未投运的阶段)中,本发明可以仿真其生产环境、推测系统性能容量。最后,在应用系统的运维阶段(指上线运行后的阶段)中,应用本发明可以根据实际业务工作负载变化情况、分析趋势、透视增长率来计划何时进行系统的扩容或升级,以满足业务未来需求。
而且,即使在用户需求突然发生改变时,该系统也可以通过灵活调整设备组中的一部分设备来快速地生成解决方案。总而言之,利用本发明所提出的函数模型和预测模型,可以充分考虑到不同设备的特殊性与参数可变的特征,还对应用系统全部软硬件的整个生命周期各阶段都有整体性的考虑,有利于使企业在一个较长的时期内达到资源、需求、成本之间的平衡,达到更高的经济效益。
综上所述,本发明以一种应用系统资源需求测算系统,提炼出了企业应用系统的特征并为其建立资源需求的函数模型,实现了应用系统整个生命周期各阶段对资源需求的测算,并通过自学习优化的方法减少人为因素的影响,不断提高测算的准确度;实现了硬件资源性能基准库的灵活管理。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。