NVMe设备的性能有多高?

NVMe SSD是存储盘的演进方向,与SATA/SASSSD相比,NVMe SSD具备10倍以上的性能增加。这主要仍是得益于NVMe SSD的多队列技术,经过多队列技术能够将IO访问并行化,从而能够提高系统总体性能。服务器

 

NVMe存储生态中,SSD技术已经变得很是成熟。IntelSamsung以及Memblaze公司都已经推出了符合NVMe标准的SSD产品。在服务器端,超微在2015年初的时候就推出了10盘位NVMe服务器,而且在2016年初的时候推出了支持24以及48盘位的彻底NVMe服务器。DELL、浪潮、联想等服务器厂商也都广泛支持4~8盘位NVMe SSD,能够说NVMe SSD在服务器中将会是一种标准配置。在网络端,支持ROCE等高性能的以太网络技术已经变得愈来愈成熟,iSER等协议能够支持存储卷的远程导出。因此,从硬件的角度来看,NVMe存储的生态已经具有了。不少人在考虑NVMe存储的时候,每每会有一个疑问,到底NVMe SSD在系统级别能够达到什么样的性能水平?网络


wKiom1hAJTGwg6CJAABxD7ZgUN8563.jpg


对于单盘NVMe SSD的性能你们必定很是清楚。一个普通的1.6TB NVMe SSD,在老化处理以后,随机读性能能够轻松达到70IOPS以上;随机写性能能够保持在12IOPS以上;顺序读带宽能够在2.5GB/s以上;顺序写带宽保持在1.2GB/s以上。这样的单盘性能远远超过了传统的磁盘以及SATA/SAS SSD。那么在一个服务器中,若是配置多盘NVMe SSD时,性能又会怎么样呢?总体性能会与什么因素相关呢?架构

 

以超微服务器为例,能够一窥系统级性能的限制因素。在10盘位NVMe SSD的服务器中,SSDCPU之间的关系能够描述以下图所示:ide


wKiom1hAJTKi1yMMAACSL13nLoo361.jpg


在该结构中,咱们能够看出NVMe SSDCPU扇出的PCIe Lane直接相连,这种链接方式是延迟最低的。在服务器配置E5-2699 V4处理器的状况下,总体最大随机读性能能够达到700IOPS以上。也就是说10块盘的性能能够充分发挥出来。与同等10盘位SAS SSD设备相比,总体拥有12倍以上的性能提高,对比结果以下图所示。这个结果是很是完美的,可是须要发挥如此高的性能,仍是须要配备E5-2699这种超强处理器。微服务


wKioL1hAJTKQsxmgAAB5LXRpujU542.jpg


对于24盘位的NVMe服务器,SSDCPU之间的关系能够描述以下图所示:性能


wKiom1hAJTOCOBsyAACyUGCJi3U919.jpg


该结构与10盘位服务器有所不一样,为了链接更多的SSD,在处理器与SSD之间引入了PCIe Switch,经过该Switch扩展更多的SSD。这样作的好处是增长了SSD的链接数量,可是引入的问题是限制了IO性能。在24盘位的服务器中,其整体性能尚未10盘位服务器来的高,最大随机读性能达到了470IOPS,比10盘位服务器低了很多。其中的缘由一方面是PCIe Switch致使延迟增大;另外一方面是CPU链接SSDPCIe端口数量降低了。看来在系统层面并非盘越多越好,关键仍是须要看系统架构。spa


wKioL1hAJTPjs5PWAACHgYQz2Dg888.jpg


对于48盘位NVMe服务器,其系统架构与24盘位的相似。不一样的是引入了更多的PCIe Switch,系统结构以下图所示:设计


wKioL1hAJTSCNQEmAACcCSdSdIM031.jpg


24盘位服务器相比,48盘位的性能有所提升,可是变化不大,其与相同盘位的SAS SSD服务器对比结果以下图所示:3d


wKiom1hAJTTSa-quAAB8GkbWST0963.jpg


在系统层面使用多盘SSD,一方面须要服务器平台的支持,不一样的服务器平台决定了性能的上限。另外一方面离不开软件的支持,而软件的效率每每会对系统总体的性能形成巨大影响。在NVMe存储领域,目前的软件还不是十分完备,缺乏与磁盘存储相相似的软件系统。以FlashRAID为例,该软件是针对NVMe SSD的数据保护系统,经过该软件对四块NVMe SSD进行管理,并实现相似RAID5的数据保护机制。在这种状况下,以下图所示,随机读性能能够超过250IOPS。咱们发现,随着NVMe SSD的进一步增长,系统总体性能有所上升,可是受限于CPU的能力,软件形成的性能损失仍是不可避免的。blog


wKioL1hAJTWwnUy_AAD4XXmMOCg899.jpg

咱们能够预见NVMe SSD是下一代主流存储介质,其不只具备超高的性能,并且还拥有极高的存储容量,很是适合企业级存储的应用。在NVMe生态一步步完善的过程当中,咱们也发现系统软件还存在很大的发展空间。NVMe SSD的系统性能一方面取决于服务器的设计架构;另外一方面还决定于存储核心软件栈。

相关文章
相关标签/搜索