服务器 频道

TPC组织为什么要用TPC-E来取代TPC-C?

    【IT168 专稿】在2007年3月,TPC组织(交易处理性能委员会,Transaction Processing Performance Council)却宣布推出新的TPC-E,以取代有14年历史的TPC-C。

    原因主要有两个:一是TPC-C的模型已经老化,二是TPC-C的测试成本太高。

    TPC-C的模型还是十几年前的东西——过时的C/S架构,模拟的是批发商系统,简单的数据库和业务逻辑。而当今WEB2.0时代的OLTP应用,大多采用流行的B/S架构,需要更大规模的并行处理能力,数据库和业务逻辑也更加复杂。显然,如果再用过去的模型来模拟今天的应用环境,确实显得有些不合时宜了。

    为此,TPC-E对模型进行大刀阔斧的创新——模拟证券经纪公司而不是批发商的流量和交易模式,从C/S架构过渡到B/S架构,数据类型从原来的3种扩展到10种,事务类型从原来的5种增加到12种,数据表由原来的9个增加到了33个,数据库构成更加复杂,也更加符合实际应用,当然对服务器的性能要求也更高了。

表1:TPC-E与TPC-C数据库比较

    再来看看TPC-C的测试成本。由于TPC-C的模型比较简单,服务器在测试时只是做一些简单的数据查询、修改和删除操作;而在多核计算盛行的今天,针对这种应用,强大的服务器CPU容易处于等待数据的空闲状态,I/O因而成为严重瓶颈。为了提升I/O,保证测试性能,服务器厂商往往需要动用大量的内存和磁盘。比如IBM和惠普公司在获得最高分的TPC-C测试时都使用了7000块硬盘。这使得参加TPC-C测试所需要的成本高达千万美元。如此巨额成本大大提高了TPC-C的门槛,将很多小型服务器厂商拒之门外。而且,从用户角度来看,实际应用可能并不需要如此海量的内存和磁盘,TPC-C结果的适用性也受到了质疑。

    而TPC-E则不同。由于数据库更加复杂,要执行的事务处理更多——TPC-E标准中定义的事务有12种,每个事务对应数据库管理系统中的一个或多个带输入和输出参数的存储过程,而且会涉及到不同表间的关联,这使得服务器CPU容易处在“有事可做”的状态。同时由于TPC-E使用了更有效的存储过程,从而减少了对磁盘I/O的利用,降低了系统对磁盘数目的要求——使用同一数据库服务器,TPC-E相比TPC-C可以减少2/3的硬盘数目,这对于降低参加测试系统的整体费用具有非常重要的意义。

图1: TPC-E测试模型之物理结构

    TPC组织负责TPC-E推广的安德里亚斯此前在接受媒体采访时也曾表示,新测试费用比较廉价的部分原因是对硬件的要求更加合理了,另外一个原因就是TPC将提供软件的源代码,取代了要求测试人员自己编写代码。

    可见,模型更新和成本降低让我们看到了TPC-E新标准的魅力:更加逼近现实,更有代表性,会更具广泛性。

相关活动:

去ChinaUNIX社区参与有奖讨论: TPC-E对服务器采购有多大参考价值?

活动时间:9月8日-9月21日

入口: http://bbs.chinaunix.net/thread-1263546-1-1.html
 

0
相关文章