最近,有不止一位读者朋友希望我分享NVMe RAID卡的性能表现。记得在5年前,我写过一篇《存储极客:服务器SSD RAID__性能速查手册》,当时还是SAS和SATA SSD做阵列,而我当时在文章末尾写了下面这句:
时间过得真快啊。当年还是使用LSISAS3108芯片的Dell H730P(PERC 9系列)RAID卡,中间隔了一代H740P(LSI3508芯片,PERC 10系列),如今已经推出了Broadcom SAS3916芯片(PCIe 4.0)的PERC 11 RAID卡。虽然芯片名字还带“SAS”,但已经是Dell第一代支持NVMe SSD的RAID卡了。
本文引用的测试数据来自Principled Technologies的报告《Accelerate I/O with NVMe drives on the new Dell EMCPowerEdge R650 server》,结尾处我会给出链接。
测试平台:3rd Xeon Scalable PowerEdge R650服务器
上面图表是对比平台,左边是Dell R640服务器+ H730P Mini RAID卡,右边则是R650+ H755N Front(前置)RAID卡。除此之外,影响性能的主要就是SSD盘——老平台上使用了10块Intel D3-S4510 1.92TB SATA;新平台没有写SSD制造商(AG代表随机发货的意思),可以看出是8块企业级NVMe MU(混合用途,写表现比读密集型好)U.2 SSD,容量为3.2TB。
测试操作系统为RedHat企业版Linux8.3。
PERC H755N front NVMe这款RAID卡我之前简单介绍过;而在上一篇《PowerEdge 15G__服务器的风冷散热“新花样”》中,我还提到了它的兄弟型号PERC H755 front SAS,如下图:
这两款前置RAID卡的主要区别就是分别支持NVMe 和SAS驱动器,在机箱内固定的位置都相同,就在热插拔背板的后面。
上图是Fio的测试参数。针对各种随机/顺序、读/写负载,结合设置不同的线程数和队列深度,以尽量压测出RAID卡的最大性能。
先不考虑RAID的写惩罚,64T x 64Q并发分摊到8个SSD上,每块NVMe盘的队列深度就有512。而传统RAID 10/5/6对应的随机写惩罚为2/4/6倍,所以当大家在下文中看到延时数字时就不应意外了。
IOPS:随机读350万、随机写91万(RAID 10)
首先看RAID 10测试结果,PowerEdge R650即代表PERC H755N RAID卡+NVMe SSD;R640代表H730P RAID卡+SATA SSD。
首先是4KB随机读,新的NVMe RAID卡超过了355万IOPS,比之前Broadcom 3916芯片宣传的3百万(如下图)还要高;而老款的H730P+ SATA SSD只有50万。4KB随机写,PERC H755N也达到了917,000 IOPS。
理论上RAID 10的写性能可以达到读的一半,不过SSD的写本身就比读慢,所以实际上不是那么简单。比如我经历过HDD机械盘的时代,IOPS瓶颈还远没有到达RAID卡;而现在无论是SATA/SAS还是NVMe SSD都要另行分析了。5年前那篇中我就提到过,LSI 3108芯片的H730P RAID卡,RAID 10随机写IOPS也只能达到10万左右(RAID5随机写最大约4-5万),这是当年主控芯片的限制。
参考Intel SSD P4610的22万随机写性能,8个NVMe SSD RAID 10测到917,000 IOPS已经不错了。
8KB混合随机读写,H755N NVMe RAID在100-110万IOPS之间,我认为这个水平应该满足绝大多数单机应用了。
至于大数据块顺序读写性能,我习惯去看带宽(MB/s)而不是IOPS,咱们可以稍后讨论。接下来先看RAID 5/6的随机IOPS。
如上图,H755N + NVMe SSD的RAID 5/6随机读IOPS,与前面的RAID 10非常接近,都在350万IOPS以上。RAID 6随机写IOPS 198,000,接近20万了;RAID 5随机写186,000稍有点意外,比之前Broadcom公布的芯片最大性能偏低些。也可能用更多数量的盘可以达到25万。
注:据了解下一代NVMeRAID卡,随机写IOPS还会有数倍提升。
相比之下,H730P RAID卡的随机写IOPS有点不正常,不排除是测试中S4510 SSD处于GC垃圾回收状态而性能偏低。
NVMe RAID的8KB随机读IOPS几乎就是4KB的一半,因为此时换算成带宽已经超过14GB/s,接近PCIe 4.0 x8接口的限制了。
8KB混合随机读写,NVMe RAID 5和6分别在50万和40万IOPS左右。
带宽和延时:似乎缺了点啥?
单位:MB/s
位于这个截图上方的表格,是RAID 10测试带宽对比。我主要看顺序写那一项,H755N NVMe SSD RAID的5,908 MB/s达到了老款H730P + SATA SSD的接近3倍。当然这里面有Intel S4510 SATA接口的限制,单盘写带宽才510MB/s,10块盘RAID 10写入理论上也不可能超过2.5GB/s。
往下看是RAID6和5的带宽性能,这份报告中只给出了64KB顺序读而没有顺序写,略显遗憾。NVMe SSD RAID 5和6都能达到14,800 MB/s,相当于SATA RAID的3倍多,而后者可能还是有点受限于单个SSD接口带宽。
单位:ms(毫秒),本次介绍的Fio测试不完全代表实际应用
再来看看延时指标。其中RAID 5和6的4KB随机写在所有项目中显得最高,而实际上RAID 10随机写延时也偏高。
首先,这与NAND闪存SSD自身的特性相关,稳态写入性能和延时都比读要差。
上图引用自我4年前做的《Intel Optane P4800X评测(3):Windows绑核优化篇》,可以看到当年性能优异的Intel P3700在并发8时达到最高写IOPS 18万,而后并发再提高延时也会线性增加。
上文中我给大家打过“预防针”,因此我们不要一下被10ms、100ms的数字吓住。如果我来出这份测试报告的话,会把前面列出过的线程数和队列深度一起放在上面表格里作参考。因为这个延时是压测到最高性能时记录的,如果我们测试job1/QD1也不可能这么高。
即便如此,我还是看到了NVMe SSD RAID比以前SATA RAID的“巨大”提升,尽管其中有一部分单盘性能的因素,但H755N RAID卡的表现应该说是不错的。
当然,如果我们看随机混合读写延时,最新的RAID卡还是无法与当今先进的全闪存阵列(1ms以内)相比。但我们别忘了AFA阵列控制器的处理性能、缓存和功耗有多高;RAID卡才8GB Cache,只有15W功耗而已。另外一台阵列卖多少钱?要求马儿少吃草,同时又要跑最快是不现实的:)
完整的测试配置和步骤参考
点开后可放大查看
我想肯定Principled Technologies测试报告的一点——会列出完整的测试环境配置步骤,以及测试工具的命令步骤。比如上图中的“blk_mqscsi_mod”,就让我想起5年前写过的《突破百万IOPS:blk-mq释放SCSI性能》。
更多细节我就不在此都粘贴过来了,大家可以参考报告原文档。以上信息不仅使测试报告更加客观(因为各项结果按照同样配置和操作要能复现),同时对技术爱好者们学习也有帮助。
PERC 11 RAID卡和PowerEdge 15G服务器
最后,我还是把上表列出来给大家参考一下。本文测试讨论的RAID卡是H755N front NVMe,标准PCIe扩展卡形态的PERC H755 adapter(如下图)可以达到同样的性能,并同时兼容SAS/SATA盘。
PowerEdge R650服务器在这里就不多谈了。之前《冷板式液冷标准化:Power Edge 15G服务器散热杂谈》是围绕2U机型R750来写的,1U的R650同样支持液冷作为标准选项。
参考资料《Accelerate I/O with NVMe drives on the new Dell EMC PowerEdge R650 server》
https://www.principledtechnol...
https://www.principledtechnol...
《Dell Technologies PowerEdge RAID 控制器 11用户指南 - PERC H755 适配器、H755 前置 SAS 和 H755N 前置 NVMe》
https://dl.dell.com/topicspdf...
作者:唐僧huangliang
原文:https://mp.weixin.qq.com/s/Q9b7\_BKAZm2l8b21tAtwrg
推荐阅读
欢迎关注企业存储技术极术专栏