一只南美洲亚马逊河流域 热带雨林中的蝴蝶, 偶尔扇动几下翅膀, 可以在两周以后引起 美国德克萨斯州的一场龙卷风。 驱动整个行业技术变革的触发点 可能只是一个小小的组件, 比如NVMe SSD。 当采用PCIe x8通道的NVMe SSD 带来100万+ IOPS, 终于把CPU变成了瓶颈, 一场主流2U服务器风暴正在登陆中。 ” NVMe SSD的性能有多高?常见PCIe 3.0 x4通道的NVMe SSD,4KB随机读取性能接近80万IOPS已经不是新鲜事,采用PCIe x8通道的NVMe SSD更是可以获得100万+的IOPS。 风暴前兆 当CPU成性能瓶颈 性能高也有“烦恼”,比如我们突然发现CPU的性能不够了——硬盘时代,大家常说存储是系统的性能瓶颈,经过SATA SSD的过渡,PCIe到NVMe SSD,终于把CPU变成了瓶颈。提高CPU性能有两大手段:高主频与多内核。不管用哪个手段,最终都反应为能耗的一路攀升。今年7月刚刚发布的至强可扩展处理器(Xeon SP)功耗已经突破200W,比上一代的至强E5 v4高出近50%,对普遍采用风冷散热的通用服务器而言,结构设计的功力空前重要。 并且,NVMe SSD的性能发挥的前提是高速的PCIe通道。一个U.2接口的NVMe SSD需要PCIe x4,而每个至强SP提供48条PCIe 3.0通道,比前代提高20%。双路至强SP服务器共有96条PCIe 3.0通道,全部用上正好支持24个U.2的NVMe SSD,刚好对应主流2U服务器的24个前置2.5英寸盘位设计。即使考虑到PCH、网卡以及其他必要组件也要占用PCIe通道,实际上能支持的NVMe SSD数量不会有那么多,但CPU也未必吃得消啊…… 考验服务器设计能力的时候到了,尤其是U.2 NVMe SSD的加入。一方面2U标准机箱内的高性能(通常意味着高能耗)组件更多,需要更好的散热设计;另一方面,如何去兼顾NVMe SSD的性能,同时继承双路服务器“多面手”的优良传统? 掀起主流2U服务器风暴 新处理器的推出必然带动新一轮服务器升级,在英特尔正式发布至强SP家族的当天,戴尔也同步推出了基于该系列处理器家族的第一波14G服务器,包括肩负更新主流2U市场重任的PowerEdge R740/R740xd。在2017戴尔科技论坛(DTF)举办之前,企事录实验室获得了一台配置诚意满满的Dell PowerEdge R740xd服务器:双路Xeon Gold 6130处理器(8张图速览新至强:Skylake架构、外貌与型号)、384GB DDR4-2666内存,双M.2 SSD配置的BOSS(Boot Optimized Storage Solution,优化启动存储方案)卡,(支持RoCE的)双端口25GbE网卡,以及最重要的4块U.2 NVMe SSD。
乍一看,作为新一代的R740xd跟以前的13G服务器好像没什么区别,但细看却大有不同。先看前面板,注意最右4块盘,就是高性能的U.2规格NVMe SSD,来个特写: 4块800GB的U.2 NVMe SSD,加上内部的Xeon Gold 6130处理器和384GB内存,让我们充满期待。
R740xd内部照,尾部的两个PCIe ×16插槽上各连接了一个扣着银色散热片的PCIe Card,这实际上是连接前面板U.2 NVMe SSD的PCIe扩展卡。
这是PCIe扩展卡的核心——基于PLX的PCIe Switch芯片,采用PCIe 3.0 x16接口,分为AB两个端口,每个端口是PCIe x8规格,支持两块x4的U.2 NVMe SSD。因此一块卡可以全速连接4块U.2 SSD。 Dell PowerEdge R740xd服务器中的U.2 NVMe SSD连接示意图,最大可支持12个U.2 SSD,或者最大24块SATA/SAS SSD或者HDD,亦或两者按比例混插。 再看看R740xd中的PCIe通道分配情况: 根据企事录手里的这台戴尔 R740xd服务器的配置,我们画了如上的示意图。 CPU1/2分别提供不同的PCIe扩展槽(其余的PCIe通道被PCH、板载网卡等周边设备所使用): 红色框内的是将处理器原生的16X PCIe桥接成4个x4的U.2通道,一共可以支持12个U.2设备,图中的4块U.2是我们经过测试后优化布置的4块800GB的U.2 NVMe SSD,灰色的是可以扩展的空位; 绿色框是一块PCIe x8的H740p SAS RAID卡,通过磁盘仓背板的SAS Switch提供24个SAS/SATA盘位支持; 橘色框是新一代的25GbE网卡,同样也是PCIe x8的设备; 蓝色框是戴尔14G服务器中所提供的一个全新设计的BOSS卡,在一个PCIe板卡上提供2个M.2(SATA) SSD,支持RAID 1,用于提供高性能、低故障率的系统盘服务。 由此可见,尽管双路平台R740xd有96条PCIe通道,但仍有不够用的感觉,除了BOSS卡(x4)、H740p SAS RAID卡(x8)、25GbE网卡(x8)、PCH和板载网卡(10GbE和1GbE)之后,也仅给高速的NVMe SSD留下了48条PCIe通道可供使用,恰好满足12个NVMe SSD所需要的PCIe通道数。(选择PCIe卡桥接U.2相比板载U.2接口,灵活性更好。在服务器上将更多的PCIe总线留给扩展性更好的PCIe插槽,会方便用户的使用。) 在企事录实验室中的这台 Dell PowerEdge R740xd服务器配备了4块三星PM1725系列的U.2 NVMe SSD: Dell PowerEdge R740xd服务器中所使用的NVMe SSD,800GB容量,属于三星PM1725系列:最大3.1GB/s带宽,4k随机读写IOPS分别为75万和12万。 突围200万TPM魔咒 数据库类应用是目前最能充分发挥NVMe SSD性能优势的企业应用场景之一,尤其是关键业务数据库。因为NVMe SSD具有很好的单位IOPS成本,又具有数据库类应用所需要高性能和低延迟。同时考虑到R740xd服务器配备了两颗英特尔Xeon Gold 6130处理器和384GB内存,具有很好的性能,所以企事录实验室首先部署了一个单实例的Oracle数据库环境,以此来评估这台PowerEdge R740xd的性能表现。 在构建好Oracle 12c数据库之后,考虑到R740xd中配备了384GB的内存,而4块NVMe SSD的容量之和为3.2TB,为避免大内存容量导致的数据库I/O性能虚高,企事录在创建数据库过程中稍微限制了Oracle所能使用的内存容量,即将SGA的内存容量限制为64GB,同时写入200GB的测试数据。稳定运行1小时之后,获得Oracle数据库性能: 在4块NVMe SSD下,配备Xeon Gold 6130处理器的R740xd服务器获得了172.5万的平均TPM,峰值TPM超过186万,接近200万TPM;平均TPS接近3万左右,峰值TPS超过3.2万,且平均响应时间仅为3ms。 单纯就性能而言,平均3万TPS的Oracle数据库性能已经接近了某些全闪存阵列的性能水平。但结合企事录实验室以往的测试经验来看,计算能力应该达到了瓶颈,毕竟Oracle数据库也是非常消耗计算能力的应用,从上图可以看到,R740xd的CPU占用率已经超过了80%。 尽管黄金版的6130处理器在至强SP家族中只处于中上游水平,但其结合NVMe SSD构建的单实例Oracle数据库性能已经接近上一代顶级至强E5-2699 v4处理器的性能。200万TPM对于双路服务器而言,似乎是一个不过逾越的难关,但在新一代Xeon处理器中却有望破除。 上图是在Oracle数据库测试过程中,从(Oracle Linux 7.4)操作系统上获得的截图,虽然有些核心的利用率为50%左右,但有些核心已经高达90%,从最上面的CPU History曲线来看,已经有部分核心的利用率接近100%,这应该是Oracle数据库性能无法进一步提升的瓶颈所在。 为了证实4块NVMe SSD并未达到性能瓶颈,企事录实验室利用Oracle数据库本身的命令行脚本测试了在1块SSD和4块SSD情况下,Oracle数据库随机读取的性能情况: 图上为1块NVMe SSD情况下,Oracle数据库的随机读取性能,接近42万IOPS,带宽在3.3GB/s左右,这基本是单个U.2版本PM1725的极限性能;图下则为4块NVMe SSD情况下,Oracle数据库随机读取性能高达170万IOPS,带宽约13GB/s。简单推算,随着NVMe SSD的增加,其IOPS性能是线性增长的。 这一测试结果基本可以确定并非NVMe SSD出现瓶颈,接下来,企事录实验室分别针对1、2、3块NVMe SSD下的Oracle数据库性能进行了测试,并结合4块NVMe SSD下的Oracle数据库性能: 分别在1~4块NVMe SSD作为数据库存储下,基于R740xd服务器构建的Oracle数据库性能表现,可见在2块NVMe SSD情况下,Oracle数据库已经获得最高性能,随着NVMe SSD的增加,其性能表现并没有明显变化。究其原因,即这台R740xd的两个Xeon Gold 6130处理器计算性能达到上限,如果使用更高计算能力的处理器,Oracle数据库的性能还有提升的空间。 在后续,企事录实验室将继续基于R740xd服务器进行测试Oracle数据库测试,但会将现在的黄金版6130处理器替换为铂金版8180,进一步发掘PowerEdge R740xd服务器的极限性能,敬请期待! 下一篇实测预告 “真枪实弹 单机竟然近300万TPM!”