至1992年以来,作为控制网络服务的强健计算机的服务器已经发生根本性的改变。然而也就是从那时起,用于测试服务器性能的运行速度测试手段与方法却无法得到发展。
服务器运行速度测试的问题是由一个名为事务处理性能委员会(TPC,Transaction Processing Performance Council)的工业组织提出的,TPC计划继续执行其具有13年之久的TPC-C测试。
该组织的Unisys代表Jerrold Buggert说到,据TPC-C之后,TPC组织将预计2006年执行TPC-E测试。通过对服务器的测试,将用于设计更为稳健的新一代数据库服务器,以实现服务器少资金投入,并且对各种不同类型的硬件及软件配置不敏感。
客观地讲,现有的服务器速度测试对很多用户对服务器的评价非常关键。“绝大部分测试结果被广泛借鉴于RFP中。而很多用户都认可TPC-C测试方法。”Buggert说到。相比于其它同类SAP的SD测试,TPC测试的有用性在于其不仅能够测试服务器的性能,还可以提供服务器的性价比。
服务器测试的重要性可见诸于Hewlett-Packard投资的金钱和精力。Hewlett-Packard花费了很多时间和精力以努力查找2001年的高品质服务器运行速度很缓慢的原因。而且该公司花费超过100万美元的资金寻找这一问题。
TPC组织也不仅仅对TPC-C进行改进。在上周一,该组织计划启动一个新的名为“中型设备(midrange machines)”服务器的Benchmark得分。
TPC-App及TPC-DS
TPC-App测试将测试这些中型设备如何处理一些典型的任务,比如与数据库服务器、Web站点服务器以及其它程序服务器之间的通讯。测试结果将以Web服务的每秒流量而计算。而且,TPC-App测试让人们对使用在程序服务器的两种顶尖技术,即微软的.Net与Sun微系统的Java技术进行比较。
TPC-App将取代名为TCP-W的测试方法。TCP-W测试缺点为:开支过大,需要25台服务器同时运行。然而这种方法不仅仅测试程序服务器性能,还可以测试包含缓存信息量的服务器性能,这一测试过程相当广泛。
Buggert提到,使用TPC-App测试的公司包括IBM,微软,HP,EBA系统,Oracle,Dell,Unisys,Advanced Micro Devices,以及Intel。TPC-H测试于1999年引入,以对“数据仓库(Data Warehouse)”进行分析。其它新的测试方法,比如TPC-DS也体现了更为现代化的数据仓库使用方法。这些机器可以执行复杂的请求分析,比如对不同市场活动受不同地区销售情况的影响分析。
TPC-C
多年来,TPC-C在服务器发展历史上已经占据重要角色。1992年,大型计算机处于服务器的最高排名位置,而那时Unix服务器也只是开始流行。从那此之后,服务器领域的格局逐渐被一些低费用机器所改变,这些机器包括:使用英特尔处理器,数字计算机公司(Digital Equipment Corp)与Compaq Computer的过渡,微软Windows和Linux的到来,以及多达128处理器的巨大计算机的出现。
相比于今天的Benchmark得分,TPC-C的第一次得分非常低。至到1998年,服务器得到才达到每秒100000次交易量。2001年,日本Fujitsu系统获得了456000的最高分。2004年,IBM在测试过程中达到了每秒3200000次的交易量。
服务器的性价比,即系统数量流通量与其费用的比值,或者在给定时间内计算机完成的任务都发生根本性的变化。在1996年以前,服务器性价比高于200美元/数据流量。
IBM于1994年5月公布了其首次TPC-C结果,即得分为每秒485交易量,性价比为654,TPC组织提到,今天,IBM的p5-575性价比为5.19美元。
实质上,TPC-C模拟一个管理大型仓库存货列表的计算机数据库,以处理基本的交易,比如产品订购。Buggert说到,TPC-E模拟一个电子产品交易业务,其中包含很多更为成熟的处理方法。
在数据库操作中,比如两阶段交易认可(two-phase commit)处理,如果在一个数据库的操作没有完成,其它数据库相关的操作就无法执行。Buggert提到,两个数据库操作是一个“相关的整体性”,也就是说,如果一个过程的其中一个部分被改变或者删除,另一个使用到这一部分的处理过程将会无法执行。
TPC-C的不足
TPC-C测试的其中一个不足之处是其测试结果容易受到硬件与软件配置的影响,而这些配置参数往往在现实中很少应用。例如,多数量硬件驱动器的服务器的TPC-C测试得分可能很高,IBM就曾经获得6548的高分。
另一不足之处是TPC-C测试很容易分布于相对独立的服务器群中,这就会给人认为低档计算机与独立的多处理器大型计算机的性能一样。从而使TPC组织根据不同的服务器群分别制定测试方法。
当前现实中,很难将数据库任务分割成各个部分,由此产生TPC-E测试。Buggert说到,“只有将你的计算机群放置于现实应用上考虑,你的测试结果才有参考意义。”
在数据库技术不断发展的今天,比如Oracle的Real Application Clusters以及InfiniBand高速硬件通讯的发展,服务器群与非服务器群的TPC测试结果比较对于用户评价数据库的性能相当有用。
Buggert提到,TPC-E测试是由包括Sun的数据库、处理器、以及服务器的提供者而建立。