终结高性能服务器烧钱时代

时间:2022-08-09 06:28:46

终结高性能服务器烧钱时代

在今天的企业应用环境下,相比TPC-C测试,基于B/S应用模式,且更适合于高计算量和混合计算模式的TPC-E测试更值得用户关注。

在服务器领域,高性能计算几乎是所有厂家追捧的一个目标,其衡量标准主要是TPC-C。这个由TPC组织定义的高性能计算标准近些年来已经成为衡量高性能服务器的官方标准,谁能称雄高性能计算,先要看看TPC-C的成绩如何。

这个诞生于1992年的TPC-C是一个相当具有想象力的高性能计算标准,由此也宣告了OLTP模式(On-Line Transaction Process,在线事务处理)的诞生。在那个还处于C/S(客户端/服务器)应用体系的年代,能制定出这样一个衡量服务器实际处理能力的标准,显示出TPC组织的前瞻性和实力。不过谁能想到,在不到20年的时间里,C/S应用模式被B/S(浏览器/服务器)完全取代,基于Web类的模式让TPC-C这种以仓储物流为计算对象的测试方法显得有些局限。

千万美元的烧钱游戏

TPC-C模拟的是简单的物流操作,因此在应用模式和服务器性能大幅提升后,已经将原本用于考量服务器计算能力的测试逐渐转移到磁盘存取性能等方面。在去年TPC-C测试上榜产品中,一台服务器往往都要配超过7000块硬盘的阵列,而这样的搭配方式在现实中是绝不可能存在的。

从最初为了衡量C/S应用模式的性能,到今天需要绝对化地扩展存储配置,这让TPC-C的测试成本越来越高。最初的TPC-C测试只需要十几万美元,而在去年,TPC-C TOP TEN排行中,位列前面的IBM和HP为TPC-C测试都花费了1200万美元的环境和测试费用,折成人民币就是近一亿元人民币,这对于还处在发展阶段的中国服务器厂商而言,绝对是天文数字。如此花费,让TPC-C成为烧钱的高性能游戏,寡头才是惟一的获胜者。

其实,熟悉高性能计算的读者都知道,目前在TPC-C TOP 10排行榜中,性能已经达到了一个恐怖的数字――608万tpmC,就是说在一秒钟内,就要处理608万份订单。而目前世界上最大物流公司的运行峰值也就是在每秒一万次的水平线上,这明显说明这类OLTP模式已经远远超越了现实应用需求。此外,那些看中高性能计算机的应用几乎都不是用来做如此简单的OLTP工作的,在一些科学计算和证券交易中,每秒钟能同时处理数千个事务就属于相当出色的成绩了,巨大的落差让那些自身计算具有复杂度的企业开始追寻新的高性能测试标准。

Web时代的TPC-E

正是因为TPC-C有了上述这些弊端,当然更重要的是Internet的兴起让传统的C/S应用模式迅速被B/S应用模式取代,Web时代不但让应用模式和获取渠道产生了变化,也让TPC加快了Web时代新测试标准的建立,于是新的TPC-E标准诞生了。TPC-E的测试模拟了全球最大的股票交易市场――纽约证券交易所的日常交易流程,所有数据源自真实的北美证券市场,其中整合了B2B和C2B两种交易模式,支持B/S和C/S两种应用模式,数据库较TPC-C标准复杂3倍。

TPC-E测试标准模拟了交易者、经纪人与股票交易所交互的情况。信息存储在33个独立的数据库表中。而与TPC-C相比较,在测试中,数据存储在9个数据库表中,数据和操作将会更简单。尽管没有一种测试标准能够全方位衡量计算机的性能,但它仍然可以说是一种比较不同计算机产品的有效方式。

在实际测试中,TPC-E能更贴近现实中服务器的应用状态。例如在TPC-C中,要取得好的成绩,服务器后的磁盘阵列就需要7000块以上的硬盘,而TPC-E测试对硬盘的需求量只有600块,这预示着重心转移到了服务器本身。

更为重要的是,目前在TPC-E TOP10排行榜中,第一名IBM的成绩也不过是1200tpsE,中国惟一在榜上的服务器――浪潮NF520D2成绩是700tpsE。这些目前世界上顶尖服务器的TPC-E成绩真实地反映出了面对复杂证券交易时服务器的实际性能。

TPC-E和TPC-C的不同点

TPC-C和TPC-E作为不同时代的高性能计算机衡量标准,并不是谁要取代谁,毕竟他们面对的用户群是不同的。但是对于用户而言,则可以根据自身应用的特性来选择不同的测试结果。但我们相信,今天的用户更多的还是会基于B/S应用模式,而证券公司的高计算量和混合计算模式也是值得多数应用参考的。

与TPC-C测量事务类型只有四种相比较,TPC-E的事务类型更加丰富,数量达12种。前10种事务按照一定比例混合成为最终测试事务合集。在这12种事务中数据维护事务、交易清理事务较为特殊,他们不是由客户端发起请求,而是数据库自身维护所要完成的工作,数据维护事务每秒钟执行一次,而交易清理事务每次测试开始时执行一次。TPC-E测试标准要求每项事务中90%的响应时间要在某一个指定时间内完成,这是出于在实际环境中对客户真实应用情况的一个考虑。虽然不同的事务所要求的响应时间约束也不同,但基本上都是要求在3秒钟内完成。这也最大化地模拟了实际证券市场中的操作要求。

TPC-E和TPC-C数据库对比显示,TPC-E数据库的复杂度更高。

TPC-E里的优化技术

其实在TPC-C中,优化技术也是非常重要的环节,从常规的硬件优化、操作系统优化、数据库优化等,每一个环节都是值得探索的,只是到了后来,存储至上的测试风格流行后,各家厂商都疯狂地增加磁盘数量,从几百块一直追加到几千块,所做的优化也都开始围绕磁盘效能做文章,似乎有些偏离TPC-C的初衷,也让优化技术不那么重要了。

而TPC-E回归了计算为本的状态,更加复杂的数据库让我们看到了其实在高性能计算中,服务器才是核心。也正是如此,优化又成为各家服务器比拼的重点,惟有深刻了解自己产品的方方面面,才可能将服务器计算性能充分发挥出来。

我们也相信,在服务器硬件平台同质化的今天,谁的服务器好,肯定不是它的服务器多几颗计算核心那么简单,而是好在优化技术上,只有充分熟悉自己服务器的硬件、软件、I/O等每一处地方,才能让服务器发挥最佳的性能。

其实,在国际服务器厂商之间,已经开始了基于TPC-E测试的高性能服务器竞争了,在TPC-E的性能逐渐提升后,我们会更加了解这一指标对高性能计算机的深层意义。

相对TPC-C千万美元的测试花费,目前TPC-E的花费只有其1/10,而且TPC-E还规定了在测试中要将被测服务器的成本进行公开,要求在未来3年内能在市场上买到相同配置的产品,这样一来,TPC-E就更值得我们去关注了。

测试结果解读

从TPC-C数百万次的性能中回归到TPC-E数百次的成绩,很多人也许有些落差,不太清楚究竟TPC-E的结果代表了什么,下面我们以浪潮NF520D2服务器在TPC-E测试中的结果来做说明。

上一篇:企业协同的四层架构 下一篇:互联网行业洗牌转型在“冬天”