SPEC测试用来全面衡量Web应用中Java企业应用服务器性能,而TPC测试体系则注重在线处理能力和数据库查询能力。如果说SPEC测试针对的是服务器硬件,则TPC测试针对的是一整套系统,它体现着服务器厂商在高端关键领域的方案开发和优化能力,因此,对高端用户选型整套系统来说,TPC测试无疑更具参考价值。
TPC-E测试是TPC组织于去年3月最新推出的测试基准,也是目前服务器场厂商参与热情最高的测试基准。认识TPC-E,还需要先熟悉一下它将逐步取代的前代基准——有着14年历史的TPC-C,它们针对的都是OLTP(联机事务处理)测试模型。
TPC-C是业界最为流行的测试基准之一,但同时也是遭遇诟病最多的基准之一。TPC-C测试模拟了比较复杂的OLTP应用环境,模型就是批发商的系统订单处理,其操作环境由一系列仓库组成,每个仓库有若干个终端,分别代表销售站点和查询站点,由TPC-C测试系统执行3种前台交易和2类后台事务处理,并给出两个基准测试指标——性能指标tpmC和性价比指标美元/tpmC。
由于TPC-C逼真地模拟了OLTP应用,在发布后逐渐得到广大用户的认可,使用tpmC作为其计算机系统性能评价体系基础的用户数量逐年上升。然而弊端也逐渐暴露出来,在14年中,B2B、B2C等新型应用已逐渐兴起,TPC-C现有的仓库管理系统测试模型距离目前的OLTP用户应用模式越来越远,5种事务处理不足以覆盖用户现有的典型操作。更遭受质疑的是,为了追求高分,服务器厂商不得不在调优方式上增加了大量磁盘,硬件成本的急剧攀升给厂商带来了很大压力。动辄数百万美元并非是每个服务器厂商都有经济实力去参与的,而且对用户的参考价值也越来越小,因此被评价为“富人的游戏”。
针对以上模型,TPC-E建立了比TPC-C更为复杂的数据库表结构,事务类型也增加到了12种,虽然TPC-E使用了更多的表结构及事务,但由于TPC-E更新了存储的过程和方式,减少了对磁盘I/O的利用,降低了系统对磁盘数目的要求。使用同一数据库服务器,TPC-E相比TPC-C可以减少2/3的硬盘数目,这对于降低参加测试系统的整体费用意义重大。
浪潮的测试体味
“TPC-E的成绩不仅仅包括性能指标,还包括性价比。我们既要追求最高测试成绩,还要考量我们的性价比是不是够好,这个价格包括了系统整体成本以及3年的维护费用,用户以这个价格必须在有效期内可以买得到。”乔鑫认为,这种测试方式和理念与其他厂商提供的测试理念不同,“既提供性能又提供了性能价格比,才是重点为用户考虑的,用户可以计算一下硬件配置缩减,再比较一下提供的价格,大概就可以算出来真实系统部署的时候需要的成本”。对于TPC-E,乔鑫另一个体会是,这对于浪潮这样的服务器厂商将有很大帮助,“做这样事情,我们可以跟国际厂商站在同一起跑线上,展示自己在高端领域的解决方案能力”。
谁该看重TPC-E
TPC-E是针对OLTP的,比如电信、移动的计费系统,银行、证券的交易系统,税务的报税系统等等,都是典型的OLTP处理。“之所以经常提到这些特定的领域,是因为他们最早应用OLTP数据库,认知度也较高,但事实上,凡是存在在线交易的数据库处理,都可以通过TPC-E进行定量的考量,比如电子商务等。”乔鑫说。
另外,TPC-E不仅是衡量四路服务器的标准,而是对整个系统的考察,不仅包括了硬件,也包括了软件。硬件不仅包括服务器,还包括后端存储以及中间的交换设备。软件上也分了很多层次,如操作系统、数据库软件等等,这需要服务器厂商具备高端关键领域的方案开发和优化能力。不仅是性能,其实TPC-E在系统的可靠性和可用性方面也有着全面考虑,比如由审核专家现场进行系统数据保护、运行正确性、磁盘损坏时的系统业务能否正常运行等测试,甚至在压力达到峰值的95%以上时完全断电,考察数据是否可以恢复,数据的完整性是不是得到保证。可以说,能完成一次有效的TPC-E测试,就是服务器厂商对系统进行一次苛刻的全面考察。
至于调优手段是否导致与实际应用匹配度不佳的问题,业界的探讨也由来已久。乔鑫认为,OLTP的特点是要尽量发挥测试的最高性能,但在真实应用中没有用户会把系统用到百分之百,而是会做一定预留,并同时考虑安全性、价格、可管理性等等。但即便如此,基准测试仍然具有指导意义,比如TPC-E对高端数据库系统采购带来的方向性影响。未来的TCP测试也将继续走充分发挥现有硬件、软件和网络架构性能的道路,并进一步融入基于用户应用本身的高仿真测试手段。