Mitchell

如何规划和选择数据库服务器?(3、基于TPC-C的推算,评估数据库服务器的CPU)

TPC-C基准是事务处理委员会建立的一个专门演示在线事务处理性能(OLTP)的性能基准,它的测量方法是为了使客户能够评估不同的在线事务处理系统的性能,这些事务进程于一个可控制的状态下在一个标准的数据库中运行。

  TPC-C测试包括5个典型的OLTP事务,它们是:

  新订单 :一个用户提交一个新的订单

  支付  :更新用户的账户余额以反映一个支付

  交付  :订单的交付(通过一个批事务处理实现)

  订单状态:返回用户最新订单的状态

  库存水平:监控当前仓库库存

  TPC-C的事务处理是在一个9个表的数据库上实现的事务处理过程包括:更新、插入、删除、终止,以及对主和次级键的访问,每种事务处理90%的响应时间应小于或等于5秒,其中,库存水平的响应时间可以在20秒以内。

  TPC-C的吞吐量值是终端活动水平的直接结果,如每一个仓库有10个终端,在每一个终端上上述5个事务都是可用的,一个远程的终端仿真器被用来在性能测试过程中进行必要的事务混合工作。这个混合代表着一个完整的订单商务处理流程:录入、支付、检验、交付。更专业的是,这个必要的混合被定义为产生一个相等数量的新订单和支付事务,以及在每10个新订单事务中产生一个交付事务,一个订单状态检验事务和一个库存水平检验事务

  远程终端仿真器也被用来测量每一个事务的响应时间,以及用来模拟键入时间及思考时间,键入时间是指在终端上录入数据所花费的时间,思考时间是指操作人员在终端读取事务的结果,进行下一个事务请求之前所花费的时间。每一个事物都有一个最小键入时间和最小思考时间。另外,这个响应时间必须在一个给定的极限值之下。

  TPC-C基准测试的结果--TPC-C的吞吐量(tpmC),代表的是系统的最大的持续性能,它被定义为系统每分钟可以处理多少个新订单事务,与此同时,系统还在处理其他四种事务类型(支付、订单状态、交付、库存水平)。所有5个TPC-C事务都有某个限定的用户响应时间要求,其中新订单事务的响应时间是5秒以内。因此如果一个系统的TPC-C值是100tpmC/min,说明该系统在每分钟处理其他的混合的TPC-C事务的工作的同时,可以产生100个新订单事务。

  如何使用TPC-C进行服务器的评估

  由上可知,TPC-C测试基准主要用于测试主机服务器每分钟能够处理的联机交易笔数,测试产生的单位结果是TPM值(Transaction Per Minute,即每分钟处理的交易比数)。

  TPC-C虽然客观的反映了各个计算机厂商的系统处理性能,并且测试基准也在不断完善以更加贴近现实应用的交易环境,但是仍然无法与纷繁多样的各类实际应用完全吻合;而且参加TPC测试的主机系统都做了适当程度的系统优化。因此,在实际业务应用系统选择主机服务器乘载体时,必须考虑到多方面的因素,以最大程度的做到适合应用系统的生产需求。

  以下计算公式是IBM公司在金融综合业务系统的实际应用中总结的经验方法论,基本反映了金融业务特点对主机处理能力的需求:

  TPM=TASK x 80% x S x F / (T x C)

  其中:

  TASK:为每日业务统计峰值交易量

  T:为每日峰值交易时间,假设每日80%交易量集中在每天的4小时,即240分钟内完成:T=240。

  S:为实际银行业务交易操作相对于标准TPC-C测试基准环境交易的复杂程度比例。由于实际的金融业务交易的复杂程度与TPC?C标准测试中的交易存在较大的差异,须设定一个合理的对应值。以普通储蓄业务交易为例,一笔交易往往需要同时打开大量数据库表,取出其相关数据进行操作,相对于TPC-C标准交易的复杂度,要复杂很多;根据科学的统计结果,每笔交易操作相比较于TPC标准测试中的每笔交易的复杂度此值可设定为10~20。

  C:为主机CPU处理余量。实际应用经验表明,一台主机服务器的CPU利用率高于80%则表明CPU的利用率过高会产生系统瓶颈,而利用率处于75%时,是处于利用率最佳状态。因此,在推算主机性能指标时,必须考虑CPU的冗余,设定C=75%。

  F:为系统未来3~5年的业务量发展冗余预留。

  综上所述,为保障联机业务处理性能要求,我们可推算得出主机所需的处理能力,据此得出相应的机型和配置。


TrackBack:http://biz.chinabyte.com/462/2293962_2.shtml

posted on 2008-01-15 13:39  MitChell  阅读(984)  评论(0编辑  收藏  举报

导航