lxgi&

导航

开放的模块化扩展计算平台 联想X6 Oracle性能测试

高性能需求总会有高性能平台来支持

“开放、廉价、Scale out”,是今天互联网领域玩儿的风生水起的三大潮流主题,而“封闭、昂贵和Scale up”代表的传统应用模式则在开放、工业标准等行业发展的大趋势中遇到了寒冬。

开放和廉价是互联网领域开始的,大量使用廉价服务器和Scale-out取得了极大的成功,但Scale-out和Scale-up却并非是对头,在任何时候高性能都是用户追求的目标,在不牺牲生态环境支持和太大成本代价下,单一节点应该尽可能的Scale-up,无论是互联网还是传统行业中都是如此。例如:随着云计算向传统企业客户的扩展,为了支持SAP HANA等大型工作负载,AWS推出了采用四路Xeon E7 v3的云主机,这就是Sclae-up在互联网和公有云上的证例。

传统企业应用以Scale-up见长,也逐渐吸取了Scale-out的优点,从封闭、昂贵的体系转向了开放的x86架构,获取大生态(硬件和软件的)的支持,降低TCO,避免被厂商绑架。以Oracle Exadata为例,既有基于2路Xeon E5的X2,也有采用8路Xeon E7的X8。

今天业界总体的趋势是开放,而对于Scale-up和out已没有绝对的优劣之分,是并存关系,以哪个为主,关键看客户的应用。传统企业的关键业务数据库受到历史、业务形态、可靠性、可维护性等诸多方面的限制,依然选择了Oracle这样的OLTP型数据库产品。只是传统的RISC+Unix+Oracle(昂贵+封闭的环境)的形态不复存在了,取而代之的是x86+Linux+Oracle(开放+廉价的环境)模式,面向传统行业的大型数据库系统的Scale-up性能上限应该尽可能的提高,因此在这样的的进化中历程中,4路以上的高端x86服务器在企业关键业务领域中得到了重视。


x86服务器出货量持续攀升

在互联网企业中Scale-Out代表了他们最新的技术发展方向,公有云提供商更是用海量计算节点来实现超强计算性能,但是对于传统行业的关键业务而言,现在公有云上提供的最强的计算性能也不过是Xeon E5-2690 v3这样的36核心平台,所能支持的最大内存也不过768GB,距离小机所提供的8路处理器、100颗以上的计算核心,数TB内存的强计算平台,在总体性能上尚有很大的差距。

面向高端x86平台的Intel Xeon E7平台已经发展到第三代,最新的E7-8890 v3处理器可以组建8颗处理器,144颗计算核心,最大12TB内存的大型计算平台,即便是现在市场上主流的Xeon E7-4800 v2系列的4路x86服务器,也能组建4颗处理器、64颗计算核心,6TB内存的Scale-up趋向的强计算平台,相比最强悍的双路X86服务器,在计算核心数量上、内存容量上都超出了许多。在性能和指标起码并不逊色的前提下,用开放、廉价的高端x86平台取代传统封闭、昂贵Unix小机是理所当然的。

虽然有这么一种声音——“双路x86服务器价格低远低于4路或者8路的x86服务器”。但是,在高端服务器的领域中讨论起价是没有太多的意义:安装了两颗处理器的双路服务器起价会比同样安装了两颗处理器的4路服务器低一半,大概差价在2万RMB左右。但是,随着内存容量的增加,同样增加到768GB内存后,即便是双路x86服务器也会溢价到10万RMB级别,此时双路服务器已经没有提升的空间了,而4路 x86服务器内存可以继续增加到2TB以上,处理器数量也可以支持到4颗甚至更多……在高端服务器的世界里(Scale-up),谁的内存大,谁的处理器数量多,谁就能获得更高的性能。

2解耦吧,高端x86服务器

在数据中心领域,现在服务器逐渐的出现了解耦趋势,例如在互联网领域中出现的天蝎整机柜,就已经将电源、散热、管理拿出来进行池化;Facebook的OCP规范里也将三大模块进行了解耦设计;包括Intel最新的RSA架构中,也将网络和计算分离设计。解耦化的设计是互联网企业在自身超大规模数据中心建设中降低成本,提高可靠性的设计趋势。熟悉服务器的人都知道,在服务器中,提高服务器可靠性的一个方向就是支持热插拔设备,包括硬盘、散热风扇和电源,除非是入门级产品,否则必定提供热插拔类的支持,否则难以保证服务器实现99.9%以上的可靠性。但是对于扩展I/O和计算(CPU+内存)部分来说,在x86服务器中还是紧密耦合在一起的设备,因为要把它们解耦出来,需要强大的技术支持才行。我们看到在联想X6服务器中,已然将解耦设计到了每一个角落。


4颗处理器通过高速QPI总线连接到背板,背板真正成为各部分组件的中转站,这样的设计在保证性能不受影响的前提下,提供了跨越3代处理器支持的能力

在高端x86服务器中,我们也看到了类似的设计理念,联想System x3850/3950 X6中同样采取了解耦的设计趋向,相比其他大多数厂商4/8路的服务器,X6的设计已经不再是一块大主板的模式,将机箱笼子作为互联核心,电源和I/O模组在后,4/8路独立的处理器内存模块在前,形成3段式结构,实现解耦化的模块设计。


X6系列服务器还有一个重要的特点就是它本身的笼子支持3代处理器,从发布之日的Xeon E7 v2系列开始,到现在的新一代Xeon E7 v3,还有下一代的Xeon E7 v4(预测名),这样的设计更加灵活。用户在未来升级时只需要更换计算模块,存储、I/O、扩展I/O、电源、散热等模块等更新换代慢的模块都可以持续服役,大幅降低了用户的TCO。

3测试平台解析

测试平台是第一代联想System x3850 X6服务器,安装了四颗Xeon E7-4820 v2处理器。为什么选择E7 v2平台,而不选择E7 v3平台呢?因为Intel供货时间的限制,在我们计划本次高端x86服务器数据库性能测试规划的时候,Xeon E7 v3处理器的服务器还不能批量供货,好在E7 v2平台和E7 v3平台在近一年的时间里都会并存,原因是E7 v2使用的是DDR3内存,而E7 v3使用的是DDR4内存,大容量内存平台现在依然是DDR3在性价比上占绝对优势,还有很重要的一点是的是我们在测试中选择了新一代的高性能存储设备eXFlash DIMM,现在市售版本仅有DDR3接口。

测试基于4路Xeon E7-4820 v2平台, 2.0GHz主频,四路32颗计算核心,128GB DDR3内存,性能显然不是唯一的看点了。即便配置不高,我们仍很期待这样4路入门级的x86服务器能获得什么样的性能看点。

前面已经分析了,Oracle作为传统行业关键业务数据库,难以轻易就被取代,何况这些年来,Oracle也转向了x86领域,因此在U2L的概念下,高端x86+Linux+Oracle数据库依然是现在关键业务数据库最优的选择。

作为普遍使用的交易型数据库,Oracle有详尽的评价标准,而前些年,基于Oracle数据的交易性能也是各家服务器厂商推出新系列高端服务器时必比的性能指标。

我们在联想X6服务器平台上安装了Oracle Linux6.6系统,在其上安装了Oracle 12C,使用HammerDB作为压力客户端模拟真实工作负载来测试Oracle数据库的性能。


除了成本低,现在HDD的指标大幅落后于新的闪存产品

在各大服务器厂商热衷于测试Oracle数据库性能的时代,存储I/O一度是TPC-C性能测试的瓶颈,动辄需要使用上千块15K RPM硬盘的SAN存储来获得高IOPS,支撑Oracle数据性能测试的TPM指标(每分钟的事务交易数量,一个交易包含多个I/O操作,即TPM不能和单纯的IOPS指标划等号),因此那时候的测试都是豪门的竞争,毕竟上千块硬盘的高端SAN存储不是谁都能搞定的昂贵设备。但是在闪存类产品问世后,这样竞争的门槛就被大幅拉低了,一块SATA接口的SSD就可以提供7~8W的IOPS(超过200块15k RPM HDD的IOPS);PCIe接口SSD达到20~30W IOPS也很轻松(达到1000块15k RPM SAS HDD的IOPS)。因此用户只需要更换闪存类存储设备就可以提升Oracle数据库的性能。作为新一代高性能存储设备,我们在测试环境中使用两类闪存设备:第一类是PCIe接口SSD,使用最新的NVMe协议——Intel的DC P3700S,400GB容量;第二类是联想X6独有的eXFlash DIMM,这是一种安装在内存插槽上的块存储设备,一条就具有400GB的容量,在不同配置的处理器环境下可以安装4~16条不等,在我们的入门级处理器环境下,只能安装4条eXFlash DIMM,组成一个1.6TB的存储设备。


从外形看,eXFlash DIMM和一般内存相仿

X6本身提供支持8块2.5英寸硬盘的磁盘仓,由一块RAID卡驱动,主要用于操作系统的安装,用户可以组成RAID 1来获得系统较高的可靠性。由于SATA/SAS接口的限制,即便在这里安装SSD存储设备,也无法比拟PCIe SSD的IOPS,所以传统300GB的SAS HDD盘更适合做系统盘。通过X6 IMM2.0功能,我们通过一根网线就可以远程维护服务器,包括系统安装等工作,支持从ISO映像直接安装,大幅降低了维护的时间和成本。

4PCIe(NVMe)SSD的数据库性能测试

3张安装盘的Oracle Linux 6.6安装过程一气呵成,直接挂载Oracle12C安装盘可以继续安装数据库,数据库直接安装在PCIe(NVMe) SSD上。这些工作全部完成也只需要一个多小时,以往用外置光驱或者USB启动盘起码需要半天时间。而传统x86服务器+SAN的模式下,安装一套完整的数据库环境少说也需要一整天的时间。


HammerDB作为测试Oracle数据库TPM性能的工具,配置起来也较为简单,而使用PCIe(NVMe)SSD更便于系统的部署和测试,因为设备以块存储设备存在,具有30万以上的IOPS性能,以往想在HDD的SAN设备上获得如此性能,起码需要1000块以上的15k RPM SAS磁盘,差不多是两套整机柜的存储环境。而今天来看,要获得这样一个高性能的存储设备甚至连服务器都不需要停机,通过联想X6后面的热插拔I/O扩展仓能在不停机的状态下添加PCIe闪存类设备,直接在系统里识别后就可以使用。存储技术的发展给我们带来了无尽的可能性。

对于绝大多数缺少DBA人才的公司而言,系统默认状态下的Oracle数据库性能存在巨大的优化空间,在企事录实验室,我们通过关闭系统盘日志记录回写等减少I/O的措施后,联想X6 在 PCIe(NVMe)SSD的驱动下,测试用Oracle 12C的性能从20多万TPM上升到37W TPM,当然,这里还存在很大的优化空间,因为此时的CPU占有率也只有50~60%,如果更换更高主频的Xeon E7-8890 v3,相信性能会更高。

5eXFlash DIMM数据性能测试

eXFlash 是System闪存存储设备的产品系列名称,包含了1.8英寸的SSD和安装在DDR3内存插槽上的eXFlash DIMM,他们都以块存储设备的形象出现。下一代的DDR4内存接口的eXFlash DIMM将是页存储形式,也就是说可以直接当内存来使用。eXFlash DIMM可安装的条数与处理器的规格和内存的数量都有关系,4颗Xeon E7 v2处理器在安装8条内存的情况下就可以支持4条eXFlash DIMM,X6目前最大可以在一套系统中安装16条eXFlash DIMM。

eXFlash DIMM在安装上有严格的技术规范,必须要紧贴系统模块中的内存安装,而且每条eXFlash DIMM本身自带4GB内存,不过内存主频为1066MHz,因此安装eXFlash DIMM后,X6的系统内存将会增加,例如原来安装128GB(8条16GB)内存,安装4条eXFlash DIMM后,内存变成了128GB+16GB,共144GB,但是内存工作频率从原来的1666MHz降频到了1066MHz。

最初我们也以为这样会大幅降低系统的计算性能,毕竟内存降速了,但是从实际测试来看,作为计算不是瓶颈的数据库性能测试,高性能的存储才是数据库性能中的短板,这部分弥补好了,就会获得出色的性能。eXFlash DIMM在安装后,如果不安装驱动,系统只能识别它自带的4GB内存,其他设备都不会被发现,例如在Windows Server 2012 R2环境下,系统并没有未发现的设备,也没有“?”设备。只有安装了驱动后,系统才能发现4个400GB的存储设备,通过eXFlash DIMM管理器可以将4个400GB的存储设备拼合成一个1.6TB的可使用存储空间。


eXFlash DIMM的管理器界面,可以看到4条存储设备的各种信息

得益于高带宽的内存接口,eXFlash DIMM的性能是线性增长的,其数据读写都可以伴随条数的增加而近乎线性的增长,因此我们对安装了4条eXFlash DIMM的X6在Oracle 12C环境下的性能测试充满了信心。


eXFlash DIMM性能随条数线性增长

默认安装系统和数据库后,生成5000个数据仓库,在第一轮测试中就可以获得超过30W TPM的性能,然后通过关闭系统盘日志回写等优化措施后,性能稳步提升,最终得到了47W TPM的性能,超过了PCIe(NVMe)SSD的获得的37万TPM,但是我们一致认为它还大有潜力可挖,因为在47万性能下,处理器使用率也只有70%,如果更换高主频处理器,增加到8条eXFlash DIMM设备,相信X6获得百万TPM性能不是梦想(前两年获得百万TPC-C的性能还是一件非常令人激动的事情,而今天在一台高端4路的x86服务器上就可以实现)。


测试平台基于联想System x3850 X6,E7 v2 4820处理器,128GB内存,Oracle Linux 6.6,Oracle 12C

6数据库性能测试总结

 

IOE和开放,这并不是一道选择题,因为他们之间是可以互融的。IOE在成为今天封闭领域的代名词,而x86代表的开放架构正得到广大用户的追捧,但是在实际业务中,往往因为硬件的封闭来去IE,而企业关键业务数据库,Oracle还是代表。从我们的测试中也看到,高端x86和Oracle它们共融后获得了出色的成果,这个全新的组合已经取得了以往8路小机+高性能SAN才能获得的性能,至于存储设备的安全性和可靠性,已经有大量的多副本解决方案可选择了,完全不需要担心数据库的可靠性。

posted on 2015-12-18 14:58  lxgi&  阅读(211)  评论(0)    收藏  举报