TPC——系统评测中的“皇家科学院”

服务器在线9月16日报道 TPC(Transaction Processing Performance Council,事务处理性能委员会) 是由数十家会员公司组成的非盈利组织,总部设在美国。TPC的成员主要是计算机软硬件厂家,其主要职能是制定商务应用基准程序的标准规范、性能和价格度量,并管理测试结果的发布。由于测试模型、测试方法权威、可信、高仿真,且受到客户和计算机厂商的广泛认可,因而TPC组织被誉为缔造了系统评测"诺贝尔奖"的"皇家科学院"。                                                                 

从混乱走向有序

80年代初,随着计算机技术的飞速发展出现了一种新的在线计算模式,与70年代占统治地位的批量计算模式不同,它采用相对单纯的方式直接通过在线数据库系统进行简单的事务处理,由此也宣告了OLTP事务处理模式(On-Line Transaction Process在线事务处理)的诞生。商业日常事务处理自动化的第一个应用程序是自动提款事务处理(Automated teller transaction-ATM)。在商业化社会,谁拥有最好的OLTP,谁就可以赢得更多的客户。但要证明谁是最好的,就需要建立一种广大客户能够普遍认可的测试标准。

80年代中期,计算机厂商提出了TP1(Transaction Process)测试标准,TP1主要是度量系统在批模式下处理ATM事务的性能。但TP1标准有两个缺陷:一是忽略网络和OLTP系统中用户交互部分的系统开销,因而可能产生不真实的性能报告;二是标准的定义太贫乏,并且无法监控标准测试的执行过程。因此,TP1的影响较小,只得到了少量的用户认可。

1985年2月1日,Jim Gray与其他24位来自科学界和工业界的同仁发表了一篇名为《事务处理能力的度量(A Measure of Transaction Processing Power)》的文章。文中提出了一种在线事务处理能力测试方法,称为"借方信任"(DebitCredit)法。与TP1标准不同,Gray提出的标准是一种真正的系统级标准,其中包括了网络和用户交互的开销。DebitCredit标准发布前后,工业界的情况非常混乱,没有一个标准来监督测试的执行和结果发布。从1985年到1988年,一些厂商随意用TP1或DebitCredit进行测试,有些厂商甚至删掉DebitCredit标准中的一些关键要求以期改善他们的测试结果。

直到1988年8月10日,作为ITOM(为中小企业提供IT技术支持的国际知名公司)创立者之一的Omri Serlin,成功说服8家公司成立了TPC,系统评测领域的混乱状况才开始出现了新的气象。TPC在1989年11月发布了其成立后的第一个标准,即TPC-A。第一个TPC-A结果报告是在1990年7月发布的。4年后,TPC-A达到其顶峰–33家公司接受了TPC-A测试,115个不同的系统发布了TPC-A的测试结果。TPC-A澄清了混乱的市场,将上世纪80年代中期建立的TP1和DebitCredit模型法典化,形成了标准。但是,TPC的成员们很清楚,必须随着计算机技术的进步,不断提出更完善、更贴近现实应用的测试标准和模型。

上世纪90年代初,TPC又发布了两个新的测试标准:用于替代TPC-A的OLTP测试新标准TPC-C和决策支持系统测试标准TPC-D。TPC-C公布于1992年7月,TPC-D公布于1994年4月。TPC-C和TPC-D在其各自的领域都获得了普遍的接受。1999年,TPC发布了决策支持系统测试新标准TPC-H,用以替代原有的TPC-D,从而进一步完善了其决策支持系统测试模型;2007年,TPC发布了OLTP测试新标准TPC-E,目的在于替代原有的TPC-C,新的TPC-E测试标准更真实更准确的模拟了现有的OLTP模型,但由于TPC-C测试是一个较为成熟、被计算机厂商及用户广为接受的测试模型,所以替代过程不是一蹴而就,目前TPC-C标准仍被使用。2004年,TPC发布了应用服务器测试标注TPC-App。

截至目前,TPC现有的测试标准为:TPC-E、TPC-C、TPC-H、TPC-App。根据这4个测试基准,目前TPC主要包括的4个技术小组委员会:TPC-E 技术小组委员会、TPC-C 技术小组委员会、TPC-H技术小组委员会、TPC-App技术小组委员会。前期TPC使用过但目前已经停止使用的测试标准有:TPC-A、TPC-B(数据库处理能力测试标准)、TPC-D、TPC-R(决策支持系统测试标准,类TPC-H)、TPC-W(Web处理能力测试标准)。

源于应用,高于真实

实际用户的应用差异较大,使用的软硬件系统也千差万别,这些不同系统的性能优劣很难用一个公共的衡量标准来进行比较,但这恰恰正是用户在购买决策时亟需的,同时厂商也需要它为自己的产品进行市场宣传。对此,TPC通过不给出基准程序的代码、而只给出基准程序标准规范的方式,解决了计算机软硬件系统性能评价标准的纷争与混乱,任何厂商或其他测试者都可以根据规范,最优地构造出自己的测试系统(测试平台和测试程序),用户、厂商双方均受益匪浅。

此外,TPC的这套标准保证了对客户实际应用的模拟。TPC所有的测试模型都是由真实用户应用经过抽象化提炼所得。例如TPC-C测试,它模拟一个批发商的货物管理环境;TPC-E模拟的是一个证券公司的股票交易系统。因此,TPC的测试结果能更加真实地反映用户的实际应用,也促使越来越多的用户将TPC标准作为其计算机系统性能评价体系的基础。

公正严谨的审核机制

根据TPC组织规定,每一个TPC结果都必须附带一个完全公开的报告(FDR),它包括被测系统的详细配置、分类价格和包含3年维护费用在内的总价格。那么,当人们阅读和审查FDR时,如果有异议该怎么办?这些异议将如何得到反馈和裁决?

从1990年到1991年,TPC致力于建立一些长效的机制来解决这个问题。技术公告板(TAB)成为对TPC测试报告发表异议的地方。TAB建立了一个公正、慎重地审查TPC异议的机制,并一直保留至今。TAB彻底研究和审查人们提出的异议,并向委员会做出建议。TPC则认真听取TAB的报告,经过充分的讨论和辩论,对异议进行投票表决。

TPC机构也认识到,一旦TPC的测试结果被否决,运行TPC测试所花费的数百万美金就白白浪费了,同时也失去了广大计算机用户的认可与信任。虽然TPC的FDR审查过程是好的,但它只有在TPC的测试结果发布之后才能进行。一旦异议成立,TPC和那些软硬件公司的信誉将一同受损。因此,TPC成立了一个检查审计组,专门负责在发布结果前审查和证明TPC的测试结果,这些检查审计人员独立于TPC组织,目前在全球只有不到10名审核员,全部在美国。

另外,与其它测试标准审核方式不同的是,TPC的检查审计员会到厂商测试现场,对整体测试系统进行检查:核对软硬件产品配置、检查网络拓扑、检查系统可靠性、测试过程的有效性等,笔者有幸经历过检查审核员对测试结果的审核,其严格、细致、一丝不苟的审核态度让人敬佩。而正是这种近似苛刻的审计制度确保了TPC发布结果的正确性、有效性。

IT产业高端俱乐部

TPC成员包括两种:一种是Full Members,另一种是Associate Members。

Full Members参与TPC的各项工作,包括benchmark标准的开发和设定战略目标等。

Associate Members 可以参加TPC会议,但不能参与投票等,而且只有以下组织才可以申请加入:非营利机构、教育机构、市场研究者、出版商、咨询顾问、政府,或者不生产、出售计算机产品和服务的厂商。

目前Full Members共有24家,Associate Members共4家,Intel、IBM、HP、AMD、Mirosoft、Oracle等国际IT巨头都是其成员,遗憾的是里面还没有一家中国的企业。