云计算是当今计算机技术领域非常热门的主题,各个企业都对该项技术产生了浓厚的兴趣,尤其是大量的互联网应用企业已经通过部署云计算而直接受益。而针对企业内部计算资源重组优化的私有云也在悄悄兴起。
云平台搭建的核心,就是将现有的资源进行整合,而这个核心的技术手段就是虚拟化。随着企业信息化的不断快速发展企业当前的数据中心均存在整合复杂、IT平台异构混乱、管理成本过大等情况由于虚拟化技术具有节省成本、节能降耗、便于管理、便于部署、便于标准化、服务器整合及最大化的利用率等诸多优势,因而在最近几年从备受关注快速进入到大规模实施阶段。
在虚拟计划实施之前我们通常都会根据现状进行分析,制定完善的方案而典型的场景分为两种:
第一种是原来企业中已经存在各种应用并在传统的服务器环境中运行,为了进行资源整合,通常需要对现有运行数据进行收集和分析,用以确定未来的服务器硬件采购以及应用程序的部署和迁移策略,例如服务器采购什么类型的CPU,多大容量的内存每台服务器上面运行多少个应用程序。这种场景经常可以通过一些工具采集一段时间的数据分析得到。
第二种场景相对复杂,就是企业要创建新的数据中心,采用全新的服务器和全新的应用系统,在这种场景下任何的工具都派不上用场,但是为了硬件的采购以及进行资源的分配,必须要有相应的评估手段否则各个应用系统都希望分配更多的系统资源。因此我们必须找到一种性能指标的计算方式,指导我们进行资源池容量的估算以及各个应用系统初始资源的分配。
一、两个重要指标
目前业界常用的性能指标的分类还是非常多的,比如SPEC系列基准测试、TPC Benchmark系列测试、Linpack基准测试Oracle应用程序的基准测试等,那么怎样选择具有实际应用价值的指标呢?重要的选择依据就是首先需要被业界所广泛认可、可衡量、通用性强同时由于该指标指导服务器资源的分配,因此这项指标必须要有服务器厂家提供相应的数据供参考才可能有实际的意义。
我们可以看到,目前在服务器硬件出厂时,一般均会通过两项重要的指标用来衡量服务的处理性能,一种是SAPS另外一种就是traps/sec (tpmC)。SAPS指标专用在基于SAP应用环境的性能估算相对专用性比较强。而tpmC相对更通用大家只要遵循TPC-C的标准即可以通过测试获取相应的指标(tpmC)如果可以估算出应用的性能指标需求,就可以参照服务器的性能指标进行资源的分配。这两种指标也是对于服务器提供厂商来讲衡量服务器处理性能的重要参数。
1 .SAP系统硬件配置预估(Sizing)
SAP将硬件配置预估称为“Sizing。Sizing的基本前提为:CPU利用度不超过70%,对话响应时间小于2秒并假定正确的客户化配置、高质量的开发工作、以及良好的系统调优工作。SAP Sizing的结果主要考虑CPU‘内存和存储容量。
SAP Sizing是一个循序渐进、逐步求精的过程。在一个项目过程中,往往需要多次进行sizing随着项目的进行越来越多的细节被确定下来,SIZIng的结果也会越来越准确。
SAP采用SAPS作为CPU的衡量指标,该指标被所有主流硬件厂商接受。SAPS是SAP Application Performancestandard的简称。SAPS值为100意味着系统每小时可以处理2000个标准订单条目。
2. tpmC
TPC-C单位为tpmC,tpm是transactions per minute的简称;C指TPC中的C基准程序。用于对系统在线事务处理能力进行评价,含义为每分钟内系统处理新订单的个数。主要针对的是服务器OLTP,主要模拟企业MIS、ERP系统来考验服务器联机业务处理能力。
通过以上的信息我们可以看出由于SAPS值特定使用在SAP程序的性能基准测试,不具备一定的通用性。而tpmC指标可以针对任何种类的应用程序,只需符合TPC-C的相应标准即可。因此我们选择tpmC作为评估性能的主要关键指标,如果是SAP应用程序和非SAP应用混杂的环境,由于服务器厂商一般会同时出具这两种指标,我们也可以进行相应的换算以供参考,供整体进行资源分配使用。
二、如何使用tpmC进行衡量
理论上来讲,官方发布的tpmC必须经过标准的严格测试才能获得,无论是从设备、应用或者是成本来说对于普通的用户来讲都是不可能完成的那我们怎样把这个数值运用到我们的实际环境当中呢,为了实现这个目标,我们首先来分析一下标准的测试场景。
在实际的测试环境中tpmC代表的是系统的最大的持续性能它被定义为系统每分钟可以处理多少个新订单事务与此同时,系统还在处理其他4种事务类型(付款、交货、订单查询、库存查询)。所有5个TPC-C事务都有某个限定的用户响应时间要求每种事务处理90%的响应时间应小于或等于5秒库存查询的响应时间可以在20秒以内而且每种事务类型还会有相关的权重:tpmC的取值按有效TPC-C配置期间每分钟处理的平均交易次数测量,至少要运行12分钟。测试的具体业务模型参数见表1。
表1 tpmC测试指标与硬件的关联度
业界根据这个场景总结出了一种tpmC的计算方式,可以采用估算的方法对目前的应用系统进行性能评估这里面主要包括了7部分内容:用户数、每个用户日业务交易量、高峰时段交易量所占比例、高峰时段时长、交易复杂性参数、未来发展冗余量值、设计CPU使用率这里面比较复杂的就是“交易复杂性参数”,它的定义为:交易或操作的复杂性参数(β):是指对比标准的tpmC交易,用户应用系统每次操作的复杂性和大小可以折算成多少个标准的tpmC交易,而一个tpmC值的国际标准是指每分钟完成5类事务处理各一次。必须要指出的是这个国际标准值仅仅是用在我们估算的时候这个数值和我们测试的场景没有关系提供的估算方法也是按照这个原则进行的计算。
·应用系统tpmC(即每分钟处理的交易量)需求估算方法:日业务交易总量{D}二用户数(u) x每个用户日业务交易量(t)*交易复杂性参数(β);
·峰值tpmC=日业务交易总量(D) x高峰时段交易量所占比例(a)高峰时段时长h)/60。
考虑未来业务发展冗余和CPU使用率后:应用系统数据库服务器tpmC需求值二峰值tpmC * [1+未来发展冗余量值(f)/设计CPU利用率(c)。
表2 tpmC计算表格
三、实例说明
以下为某业务系统数据库服务器的性能评估过程;
该业务系统设计总用户数量为130个,不同类型的操作为4种典型场景分别为浏览、查询、基础数据变更和接口数据交互,由于部分用户承担多种业务角色执行这4种业务操作的用户数量分别为100, 20, 20和60(特别需要注意的是此时的用户数不一定代表人,而是和数据库直接业务发生数据交互的服务器、工作站等)。
在需要进行用户浏览的100个用户中,每个用户平均在一天发生960笔交易,大部分交易发生在正常上班的8小时内,在8小时内的交易量大概占到整天交易的80%。这些交易对于服务器来讲全部为查询操作,交易复杂性参数按照公式折算为400在未来的一年中,交易可能会有50%的增量为了保证服务器的高效、稳定运行,要求计算资源使用率不能超过80%。通过这些关键参数的输入,得出“数据库一用户浏览”操作系统的tpmC值为24000。根据同样的算法得出其他三种场景下服务器所需性能指标分别为120, 75, 525总计为24720。
为了验证我们估算出来的数据与实际测试的偏差以衡量数据的准确性,我们针对该项目组织了性能压力测试工作测试场景及结果如下:
1.硬件环境
硬件环境如表3.
表3 硬件环境
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:量化性能——私有云搭建的关键(上)