发明内容
本发明的目的是提供一种服务器资源配置方法,以实现通过系统基准测试映射实现高效、准确地堆FBCI系统资源进行合理的划分。
为实现上述目的,本发明实施例提供了一种服务器资源配置方法,所述方法包括:
采集服务器的应用系统的性能数据和事务数据;
分析所述性能数据和所述事务数据,以获取所述应用系统的性能资源使用模型和业务事务模型;
根据所述业务事务模型和系统基准测试事务模型的匹配关系,确定所述性能资源使用模型与系统基准测试性能资源模型的映射关系;
根据所述性能资源使用模型与系统基准测试性能资源模型的映射关系,获取目标系统的系统基准测试性能需求值;
根据预配置的系统基准测试性能值、资源配置基线库和所述目标系统的系统基准测试性能需求值,获取所述目标系统的资源需求值;
根据所述目标系统的资源需求值,对所述服务器进行资源分配。
基于第一方面,在第一种可能的实施方式中,所述根据预配置的系统基准测试性能值、资源配置基线库和所述目标系统的系统基准测试性能需求值,获取所述目标系统的资源需求值,之后,还包括:
对所述目标系统的资源需求值进行调校。
基于第一方面,在第二种可能的实施方式中,所述对所述性能数据和所述事务数据进行分析,以获取所述应用系统的性能资源使用模型和业务事务模型中,所述的业务事务模型包括事务组成百分比和事务中数据维护语言的操作数中的至少一个或其组合;
所述应用系统的性能资源使用模型包括用户连接数、系统吞吐量和系统资源使用率其中之一或其组合。
基于第一方面,在第三种可能的实施方式中,所述采集服务器的应用系统的性能数据和事务数据,具体为:
根据所述服务器的所述应用系统的负载状况报告采集所述性能数据和所述事务数据。
第二方面,本发明实施例提供了一种服务器资源配置装置,所述装置包括:
采集单元,用于采集服务器的应用系统的性能数据和事务数据;
分析单元,用于分析所述性能数据和所述事务数据,以获取所述应用系统的性能资源使用模型和业务事务模型;
确定单元,用于根据所述业务事务模型和系统基准测试事务模型的匹配关系,确定所述性能资源使用模型与系统基准测试性能资源模型的映射关系;
性能需求值获取单元,用于根据所述性能资源使用模型与系统基准测试性能资源模型的映射关系,获取目标系统的系统基准测试性能需求值;
资源需求值获取单元,用于根据预配置的系统基准测试性能值、资源配置基线库和所述目标系统的系统基准测试性能需求值,获取所述目标系统的资源需求值;
资源分配单元,用于根据所述目标系统的资源需求值,对所述服务器进行资源分配。
基于第二方面,在第一种可能的实施方式中,所述装置还包括;
调校单元,用于在所述根据预配置的系统基准测试性能值、资源配置基线库和所述目标系统的系统基准测试性能需求值,获取所述目标系统的资源需求值,之后,对所述目标系统的资源需求值进行调校。
基于第二方面,在第二种可能的实施方式中,所述应用系统的性能资源使用模型包括用户连接数,系统吞吐量和系统资源使用率其中之一或其组合。
基于第二方面,在第三种可能的实施方式中,所述采集单元具体用于:
根据所述服务器的所述应用系统的负载状况报告采集所述性能数据和所述事务数据。
通过本发明实施例提供的服务器资源配置方法,通过将根据采集到的服务器的应用系统的性能数据和事务数据;建立的应用系统的性能资源使用模型和业务事务模型;与系统基准测试性能资源模型的映射关系,获取目标系统的系统基准测试性能需求值,进一步获取目标系统的资源需求值;可以实现通过系统基准测试映射实现高效、准确地堆FBCI系统资源进行合理的划分。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1是本发明实施例提供的服务器资源配置方法的流程图,所述方法的执行主体可以是FBCI系统中的一个服务器中的一个中央处理器或者是一个独立的资源配置模块,由图1可见,所述方法包括:
101,采集服务器的应用系统的性能数据和事务数据;
具体而言,所述的应用系统例如可以是银行的柜员业务系统。在执行的过程中,主要是采集应用系统的性能报告、事务报告等,此类数据根据应用类型的不同,采集的内容也不相同。但这类报告都和各种系统基准测试(Benchmark)具有很强的共性和可比性。以采用甲骨文(Oracle)数据库的业务系统为例,采集的大部分数据都来自于系统负载状况(AWR:Automatic Workload Report)报告。
102,分析所述性能数据和所述事务数据,以获取所述应用系统的性能资源使用模型和业务事务模型;
具体而言,当应用系统采集模块获取到业务的性能数据和事务数据后,则对这些报告进行分析,并输出该业务的性能资源使用模型和业务事务模型。
更具体的,对于业务事务模型,主要包括事务百分比组成,事务中数据维护语言(DML:Data Maintaince Language)的操作数,事务表联查数,事务表合并数等。
对于应用系统的性能资源模型,不同的应用类型,具有不同的性能分析模型,这些都已经预定义在分析模块中。以Oracle为基础建立的在线联机事务处理(onlinetransaction processing,OLTP)应用为例,定义的是以衡量联机事务处理(OLTP)系统性能与可伸缩性的行业标准基准测试项目(TPC-C)系统基准测试为基础的性能模型,主要包括用户连接数、系统吞吐量、系统资源使用率(如CPU使用率)、日志块大小(Redo Size)、逻辑读次数(Logic Reads)、物理写次数(Physical writes)、物理读次数(Physical reads)、缓存命中率(Buffer Hit)、每秒IO数(IOPS:Input/Output per Second)、延时等。
TPC-C是一种旨在衡量联机事务处理(OLTP)系统性能与可伸缩性的行业标准基准测试项目。TPC全称是Transaction Processing Performance Council,中文名称是事务处理性能委员会,这个组织制定了系统基准测试(Benchmark)的标准规范、性能和价格度量,并管理测试结果的发布,TPC-C就是其中的一种。
103,根据所述业务事务模型和系统基准测试事务模型的匹配关系,确定所述性能资源使用模型与系统基准测试性能资源模型的映射关系;
104,根据所述性能资源使用模型与所述系统基准测试性能资源模型的映射关系,获取目标系统的系统基准测试性能需求值;
具体的,在建立了应用系统的性能资源使用模型和业务事务模型之后,结合已知的系统基准测试系统资源模型和系统基准测试事务模型,按照预设的计算方式完成目标系统的系统基准测试性能值的计算,得出目标系统的系统基准测试性能需求值。
105,根据预配置的系统基准测试性能值、资源配置基线库和所述目标系统的系统基准测试性能需求值,获取所述目标系统的资源需求值;
具体而言,在获取到目标系统的系统基准测试性能需求值之后,根据业务系统的特点进行性能值的调校,例如考虑业务系统性能冗余,依据峰值计算合理的需求值,考虑系统突发事务的性能需求值,最后结合基于密布式的计算架构(Fabric Base ComputeInfrastructure,FBCI)系统的系统基准测试性能与资源配置的基线库来计算出更加精确的目标系统的资源需求值。
106,根据所述目标系统的资源需求值,对所述服务器进行资源分配。
在一种优选的实施方式中,在步骤105之后,还可以对所述目标系统的资源需求值进行调校。
具体而言,在得出的目标系统资源需求值基础上依据不同的实际业务系统,综合实际的数据存储容量,日志文件容量,内存容量,网络资源容量,高可用(HA:HighAvailability)方案,虚拟化需求进行调校实际的资源需求,得出最终的业务部署所需的资源需求。
在一种更具体的实施例中,以在在线联机事务处理应用业务部署为例,通过TPC-C模型进行系统资源的合理划分。对于步骤101中,采集应用系统的性能数据和事务数据,在一种通过AWR报告自动识别业务负载信息的应用中,具体表现为:
通过分析报告中的用户请求次数获取每秒钟时间内用户请求的次数;分析日志块大小(redo size)统计选项分析重做日志磁盘的带宽;分析物理读写次数(Physicalreads/writes)获取磁盘每秒输入输出次数(IOPS);分析操作系统统计数(OperatingSystem Statistics)获取系统CPU和内存资源使用;分析事务数(Transactions)获取系统事务吞吐量;分析表空间输入输出统计(Tablespace IO Stats)模块获取输入输出延时;分析实例命中率(Instance Efficiency Percentages)模块获取数据块在数据缓冲区中的命中率(Buffer Hit)。
在步骤102中,建立的业务事务模型包括:用户请求的事务百分比、每个事务相关的数据库操作数、最高业务量系数和系统冗余系数中的一种或者几种的组合。
在步骤103和104中,通过目标系统的系统基准测试性能需求值,将实际的业务事务模型向作为系统基准测试性能资源模型的TPC-C模型映射,得到作为目标系统的系统基准测试性能需求值的tpmC值;其中tpm是指每秒处理事务数(transactions per minute);C指TPC中的C基准程序,用于表示每分钟内系统处理的新订单个数。
例如,假设对于某个在线联机事务处理业务事务模型,通过活动1获取到的信息如下:
该业务事务模型共包含N种事务;
每种事务对于数据库的操作数分别是S1,S2,……,Sn;
每种事务的百分比分别为δ1,δ2,……,δn;(δ1+δ2+……+δn=1);
每秒钟时间内用户请求的次数为X1;
重做日志(redo)磁盘的带宽为X2;
磁盘每秒输入输出次数(IOPS)为X3;
系统CPU使用率或内存资源使用容量X4;
系统事务吞吐量X5;
输入输出IO延时为X6;
第k个相关因子的值为Xk;
最高业务负载量系数为α;
经验系数为β;
客户要求冗余系数为γ。
对于已知的TPC-C系统基准测试模型,该已知的模型共有5种事务;
每种事务对于数据库的操作数分别为T1,T2,T3,T4,T5,其中,T1-T5为常量);
每种事务的百分比分别为ξ1,ξ2,ξ3,ξ4,ξ5;其中,;(ξ1+ξ2+ξ3+ξ4+ξ5=1);
统计的新订单(New Order)事务的百分比为45%。
那么在映射过程中,首先建立业务事务模型和作为系统基准测试性能资源模型的TPC-C模型的映射关系,通过以下公式进行计算:
其中,Vb2t表示两种模型之间的映射关系,M表示业务事务模型包含的事务数,N表示系统基准测试性能资源模型所包含的事务数,两者可以相等也可以不相等。
则通过两者的静态映射关系可以计算出部署此业务系统需要的模型tpmC值P1的计算公式:
P1=Vb2t*α*β*60*0.45
同时,在此FBCI系统下,厂商需要先进行多组的TPC-C测试,并且通过活动1中的AWR报告获取每次测试时的相关如下参数。假设第m次测试的tpmC值为Cm,而该次测试所得到的结果如下:
每秒钟时间内用户请求的次数为Y1m;
重做日志(redo)磁盘的带宽为Y2m;
磁盘每秒输入输出次数(IOPS)为Y3m;
系统CPU使用率或内存资源使用容量Y4m;
系统事务吞吐量Y5m;
输入输出(IO)延时为Y6m;
第k个相关因子的值为Ykm。
则有如下线性方程:
通过足够多的m值来构筑有限解的上述线性方程,解以上线性方程,可以得到每个因子对应的系数b0,b1,……,bk。
之后,通过实际业务量映射,得出部署此业务的目标系统需要的动态初步tpmC值,也就是目标系统的系统基准测试性能需求值P2:
P2=b0+b1*X1+b2*X2+…+bk*Xk
可以在最后综合冗余系数,得出部署此业务系统所需的最终tpmC值,即最终的目标系统的系统基准测试性能需求值P:
之后,在目标系统资源需求计算中,计算业务系统最终需求的资源。
对于某FBCI系统,系统厂商会经过多次测试而给出性能需求值tpmC和所需资源的对应的关系。
根据厂商给出的参数表,查找即可确定目标系统的资源需求值。
在进行业务部署之前,可以对上述计算出的资源根据实际应用场景进行部分微调。比如Log容量,必须根据业务需要的日志存储时间进行调整;内存容量,如果在业务部署过程中采用内存镜像技术,则得到的内存容量必须要加倍。
在完成资源消耗的最终计算后,在FBCI系统下,使用自动部署工具,实现业务的快速部署。
通过上述实施例,可以通过系统基准测试映射实现高效、准确的对FBCI系统资源的合理划分,降低用户的总体成本,增强产品竞争力;在用户进行系统资源扩展时提升效率,提高系统可维护性和易用性;通过系统基准测试性能值作为资源映射的中间值,屏蔽了硬件平台的差异,具有更强的市场说服力。
第二方面,本发明实施例提供了一种服务器资源配置装置,所述装置包括:
采集单元201,用于采集服务器的应用系统的性能数据和事务数据;
分析单元202,用于分析所述性能数据和所述事务数据,以获取所述应用系统的性能资源使用模型和业务事务模型;
确定单元203,用于根据所述业务事务模型和系统基准测试事务模型的匹配关系,确定所述性能资源使用模型与系统基准测试性能资源模型的映射关系;性能需求值获取单元204,用于根据所述性能资源使用模型与系统基准测试性能资源模型的映射关系,获取目标系统的系统基准测试性能需求值;
资源需求值获取单元205,用于根据预配置的系统基准测试性能值、资源配置基线库和所述目标系统的系统基准测试性能需求值,获取所述目标系统的资源需求值;
资源分配单元206,用于根据所述目标系统的资源需求值,对所述服务器进行资源分配。
在第一种可能的实施方式中,所述装置还包括;
调校单元,用于在所述资源需求值获取单元根据预配置的系统基准测试性能值、资源配置基线库和所述系统基准测试性能需求值,获取所述目标系统的资源需求值;之后,对所述目标系统的资源需求值进行调校。
所述应用系统的性能资源使用模型包括用户连接数,系统吞吐量和系统资源使用率其中的一种或几种的组合。
所述采集单元具体用于:根据所述服务器的所述应用系统的负载状况报告采集所述应用系统的所述性能数据和所述事务数据。
通过本发明实施例提供的服务器资源配置方法,通过将根据采集到的应用系统的性能数据和事务数据;建立的应用系统的性能资源使用模型和业务事务模型;与系统基准测试性能资源模块的映射关系,获取目标系统的系统基准测试性能需求值,进一步获取目标系统的资源需求值;可以实现通过系统基准测试映射实现高效、准确地堆FBCI系统资源进行合理的划分。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。