事务处理性能测试委员会(TPC)简介

事务处理性能测试委员会(TPC)简介



中国科学院软件研究所 王青
TPC的历史与概况
事务处理性能测试委员会TPC(Transaction process performance Council)是一个
专门负责制定计算机事务处理能力测试标准并监督其执行的组织。
80年代初出现了一种新的在线计算模式,与70年代占统治地位的批计算模式不同,它
采用相对单纯的方式直接通过在线数据库系统进行简单的事务处理,由此标志着在线事务
处理工业的诞生。商业日常事务处理自动化的第一个应用程序是自动提款事务处理(Aut
omated teller transaction—ATM)。在商业化社会,谁拥有最好的在线事务处理系统—
OLTP(Online Transaction Process),谁就可以赢得更多的客户。于是问题就来了,如何
证明谁是最好的?当然应该用一种公共的测试标准。80年代中期,IBM提出了TP1(Transac
tion Process)测试标准(Benchmark),并得到一些计算机系统和数据库厂商的接受与认可
。TP1主要是度量系统在批模式下处理ATM事务的性能。但TP1标准有两个缺陷:一是忽略
网络和OLTP系统中用户交互部分的系统开销,因而可能产生不真实的性能报告;二是标准
的定义太贫乏,并且无法监控标准测试的执行过程。因此,TP1的影响较小,只有少量的用
户。
1985年2月1日,Jim Gray与其他24位来自科学界和工业界的同仁发表了一篇名为《事
务处理能力的度量(A Measure of Transaction Processing Power)》的文章。作者在文
中提出了一种在线事务处理能力测试方法,称为"借方信任"(DebitCredit)法。与TP1标准
不同,Gray提出的标准是一种真正的系统级标准,其中包括了网络和用户交互的开销。De
bitCredit标准发布前后,工业界的情况非常混乱,没有一个标准来监督测试的执行和结果
发布。从1985年到1988年,一些厂商随意用TP1或DebitCredit进行测试,有些厂商甚至删
掉DebitCredit标准中的一些关键要求以期改善他们的测试结果。直到1988年8月10日,O
mri Serlin成功地说服8家公司成立了TPC。TPC按商业领域的公共理解来定义事务(tran
saction)这个术语,认为事务就是商业活动中货物(库存管理)、服务(订票)、金钱(银行
)的交换。典型的事务一般都会涉及数据库系统中数据的更新。
利用DebitCredit标准所给出的模型和观点,TPC在1989年11月发布了其成立后的第一
个标准,即TPC-A。TPC-A与DebitCredit的不同点主要在于:
·要求90%的事务处理应在2秒内完成;
·将每个测试系统需要的交互终端数降低到10台,而且规定终端的费用应包含在系统
价格中。
第一个TPC-A结果报告是在1990年7月发布的。4年后,TPC-A达到其顶峰——33家公司
接受了TPC-A测试,115个不同的系统发布了TPC-A的测试结果。
TPC-A的主要功绩在于澄清了混乱的市场,将80年代中期建立的TP1和DebitCredit模
型法典化,形成了标准。但是,TPC的成员们很清楚,必须随着计算机技术的进步,不断提出
更好、更健壮、更贴近现实世界的测试标准和模型。90年代,TPC又发布了两个新的测试
标准:OLTP测试标准的下一代产品TPC-C和决策支持系统测试标准TPC-D。TPC-C公布于19
92年7月,TPC-D公布于1994年4月。
TPC-C和TPC-D在其各自的领域都获得了普遍的接受。但是计算机系统的能力在无情
地增加,测试的开销也必须符合和顺应这种增加。目前,新的TPC-C和TPC-D版本计划将在
1999年发布。
1998年,TPC发布了新的基于Web商业(Commerce)的测试标准──TPC-W,用来表示一些
通过Internet进行市场服务和销售的商业行为,如零售店、机票预定等等。TPC-W测试系
统处理用户浏览商业Web站点和通过商业Web站点操作订单的性能。由于在整个Web OLTP
环境中,网络连接和人机交互的情况变幻不定,TPC-W没有考虑这些部件的开销。所以,TP
C-W可以看作是一个服务器的测试标准。
当厂商发布TPC结果时,他必须面对竞争者的挑剔和指责。每一个TPC结果都必须附带
一个完全公开的报告(FDR)。那么,当人们阅读和审查FDR时,如果有异议,他将怎么办呢?
如何记录这些异议以及如何裁决?从1990年到1991年,TPC致力于建立一些政策来解决这个
问题。技术公告板(TAB)成了大家对TPC测试报告发表异议的地方。TAB建立了一个公正、
慎重地审查TPC异议的机制,并一直保留至今。TAB彻底研究和审查人们提出的异议,并向
委员会作出建议。TPC则认真听取TAB的报告,经过充分的讨论和辩论,对异议进行投票表
决。
TPC机构也认识到,一旦TPC的测试结果被否决,运行TPC测试所花费的数百万美金就白
白浪费了。虽然TPC的FDR审查过程是好的,但它只有在TPC的测试结果发布之后才能进行
。一旦异议成立,TPC和那些软件公司的信誉将一同受损。因此,TPC成立了一个检查审计
组,专门负责在发布结果前审查和证明TPC的测试结果。这个TPC的审计系统有效地阻止了
大部分错误的TPC结果被发布出来。
比较不同系统的性能优劣需要公共的衡量标准。用户需要公共标准来帮助他作出购
买决定。厂商则需要它为自己的产品进行市场宣传。TPC解决了计算机软件系统性能评价
标准的纷争与混乱,为用户和厂商提供了双方的利益。TPC的标准还可以裁剪,以更恰当地
表示具体的系统。许多政府部门和公司都购买TPC标准作为其特定计算机系统性能评价体
系的基础。
哪一个TPC测试标准适合用户的应用系统呢?由于用户应用系统的环境是各种各样的
,而TPC的测试标准只能是相对抽象和简单的模型。所以TPC的测试标准只能作为比较不同
系统性能的尺码,而不能当作精确度量具体应用环境性能的工具。用户应该深入了解TPC
的测试标准,并对其各种模型进行细致的分析,以确定哪一类的用户交互处理、数据库设
计、数据库大小、事务复杂性、存储备份测试等模型更适合于用户的系统环境,然后用来
对安装在用户环境中的不同系统进行测试和比较。
TPC-C测试标准
TPC-C 是TPC组织花费2年多研制开发的结果,是测试在线事务处理能力的新一代产品
。它的主要特点有:
1. 将复杂的OLTP模块化;
2. 应用系统可以形成支持批处理的管理序列;
3. 提出了测试标准的概念模型——命令入口(Order Entry)。
TPC-C定义了5种事务类型,即:
·New-Order:客户键入的一个新命令,如客户键入的一个查询要求;
·Payment:更新客户帐号的金额以反映新的交易付帐;
·Delivery:提交命令(以批处理模式提交执行);
·Order-Status:检索用户最近命令的状态,即检查其他事务的执行状态;
·Stock-level:货物交易事务,如库存管理中的出入库相关事务。
事务吞吐量和性能价格比是TPC的两个重要的测试指标。吞吐量的定义是:当系统执
行Payment、Order-Status、Delivery、Stock-level等4种类型的事务时,每分钟可完成
多少New-Order事务。5种TPC-C事务都需要一定的用户响应时间,New-Order事务的响应时
间一般在5秒。TPC的性能价格比并不仅仅是针对计算机或宿主机的费用,这只是TPC价格
体系中的一部份。通常TPC的测试标准涵盖用户可能购买的各种系统环境的所有价格因素
,诸如终端、通信设备、事务监视器和数据库服务器等软硬件,还包括计算机系统或宿主
机、后援存储器以及3年的维护费用。
这两个指标哪一个更重要?如何知道哪一个系统有最好的TPC结果?这要依具体的需求
而定,例如应用系统对环境的要求很高,而关键任务的吞吐量指标显然更为重要。另一方
面,由于用户一般都在一定的价格范围内购买系统,吞吐量必须与整个系统的费用相平衡
。所以通常说来,事务吞吐量愈高,性能价格比(注意实际上是价格性能比)愈低则表示TP
C的测试结果愈好。
TPC-C 要求所有事务符合ACID测试,并要求数据分布对应用系统所有节点透明,所有
的数据操作都只对整个数据库,而不管数据的实际物理位置。
TPC-C的性能取决于计算机(硬件)、操作系统、数据库等很多因素。许多计算机及数
据库厂商都有不断更新的测试结果,并在Intenet网上公布(http://www.tpc.org)以便查
询。就操作系统而言,Windows NT 的性能价格比较好,通常是Unix的2~3倍,但Unix在性
能上具有很好的可扩展性。
TPC-D测试标准
TPC-D是对复杂的决策支持系统进行测试评价的标准,它对决策支持系统形成特殊的
查询,并适用于多用户环境。TPC-D与其它TPC测试标准的关系如图1所示:
@@0841200.JPG;图1@@
TPC-D与其它TPC标准的关系
TPC-D用DBGEN产生数据库。DBGEN是TPC-D的一部分,用C语言编写。使用DBGEN是TPC
-D的强制性建议。TPC-D数据库的内容必须可以被抽出。TPC-D报告中必须反映数据库的
装载时间,包括建立索引和数据静态更新的时间。但数据库装载时间不包括在基本度量指
标中。
为了较好地反映现实应用系统,TPC-D用SQL92编写了17个实现商业问题的查询,并定
义了查询的通用性,由此定义了查询集。TPC-D用QGEN产生的随机常数替代查询中的参数
,规定查询中没有宿主变量,并且没有静态SQL。另外TPC-D不允许修改查询结果。TPC-D执
行3种测试,即能力(Power)测试、吞吐量测试和数据库装载(Load)测试。
1. 能力测试
·以单流方式提交查询(无并发)
·每一个查询集都是17个查询的不同组合
2. 吞吐量测试
·多个并发查询流
·单更新流
3. 性能价格比
4. 数据库装载测试
数据库装载测试不是TPC要求的基本测试,一般放在总结中。
结语
TPC测试标准是一个容易理解、开销稳定的测试标准。目前仍在继续发展两个主流产
品,即TPC-C和TPC-D,以使之与OLTP和决策支持领域的发展保持一致,同时将在Web商业领
域开辟新的天地(TPC-W)。
TPC-C的测试结果不能与TPC-D等其他的TPC测试结果进行比较,因为它们在本质上是
不同的,分别使用不同类型的应用系统。
许多用户在订购软件产品如操作系统、数据库时,都希望首先了解同类产品的性能、
性能价格比等指标,TPC组织正好可以提供这样的服务。如要获得更多、更全面的TPC结果
信息,首先可以从TPC官方机构订购一份公开报告(Full Disclosure Report),这些报告提
供了进行TPC测试的软件系统的配置、测试实施以及费用等全部文档,另外还有一些附加
的性能数据。此外,用户还可以与厂商直接联系,获得更多的性能和价格信息,以便进行正
确的选择。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值