在 IT 行业很多工程师(尤其是很多 DBA)的心目中,都把小型机视为解决性能问题的终极武器,认为小型机的处理能力要远大于 PC Server。在几年前,可能也确实是这样。但随着近几年 X86 架构芯片技术的飞速发展,PC Server 的处理能力已经越来越强悍,不断的给我们带来惊喜。
最近几年的小型机市场,基本上被 IBM 吃掉了大部分。虽然可能并不完全是因为其 Power 芯片处理能力与其他厂商的芯片相比有优势,但其处理能力方面的优异表现确实是一个很重要的因素。所以最近几年我们一直关注着 IBM 小型机与其他主机的处理能力比较,当然比较是基于 Oracle 数据库所做的一些测试。
测试基本模型如下:
测试数据的收集主要通过恒定时间段的 Oracle 数据库自身性能数据采样(statspack),然后分析 statspak 中的每秒事务数。以往经验显示,基本上当客户端压力线程到达一定数量之后,处理量就比较稳定甚至下降。然后我们从中取出每秒事务数的最大值,做为该机器的处理能力分值。
这个测试模型主要消耗的资源是主机的 CPU + RAM 的能力,而且当初也得到了 IBM 实验室的人认可。
通过这几年对几种主机处理能力跟踪测试情况来看,IBM Power 芯片的优势已经越来越不明显了,甚至其 Power 5+ 芯片的处理能力已经不如某些型号的 Intel x86 芯片的处理能力了,部分主机处理能力对比数据如下:
近四五年来的测试数据:
Sun v880(4C): 160
Hp rx4640(4C): 180
Dell 6650(2C): 88(2核 CPU)
Dell 6650(4C): 155
IBM P550(4c,Power 5): 294
IBM P590(8C,Power 5): 656
去年下半年至今年的测试数据:
IBM P590(16C,Power 5+): 1200
Intel (4c, Xeon(TM)): 1210 (于去年下半年发布的6核 CPU)
Intel (2c, Xeon(R)): 1107 (将于本月底发布的4核 Nehalem CPU,X5560)
从上面的数据中大家应该可以基本的了解到目前使用 Intel x86 架构的 Xeon CPU 的 PC Server 的处理能力了吧。当然,有些人可能会说,IBM Power 6 的处理能力与 Power 5 和 Power 5+ 相比有了一个较大的提升,事实如何我目前还不太清楚。但即使是其处理能力翻一倍,那也才与现在的 Nehalem 处理能力相当。
至于 PC Server 和 小型机在成本方面,这里就不多说了,我想大家都很清楚二者完全不在一个数量级上,甚至是相差两个数量级 :D。
可能有些人又会说,小型机在 HA 方面比 PC Server 要强。确实,这一点我是承认的,小型机的可靠性在一定程度上要比 PC Server 是要好一些,大部分设备出现故障后都不用停机即可在线更换。但随着分布式架构的不断成熟,通过架构来解决整体可用性的成功案例已经越来越多。现在该是我们转换思路的时候了!
2005年:
Sun : v880,4cpu :160,平均单核40
Hp: rx464, 4cpu :180,平均单核45
dell 6650 2cpu : 88,平均单核44
dell 6650 4cpu : 155,平均单核38.75
IBM P550 4cpu : 294,平均单核73.5
IBM P590 8CPU : 656,平均单核82
2008年:
ibm p590 16 cpu: 1200,平均单核75
2009年:
intel nehalem样机, 2 cpu(每cpu 4core,X5560, 2.80GHz ) : 1107,平均单核138
IBM P550 power6 3503 MHz 4cpu: 421事务/秒,平均单核105(比08年测试 P590 提升40%)