NVMe(非易失性内存表达)被认为彻底改变了闪存存储。它基于PCIe卡插槽格式,允许闪存驱动器通过PCIe插槽和标准化的连接方式进行连接,取代了专有卡协议和现有的SAS和SATA驱动器堆栈。
NVMe的主要魅力在于,它大大增加了I/O队列数量和队列深度。
为什么说NVMe是革命者? 我们一起来探一究竟。 首先,我们来看看什么是队列深度。
作为基本概念,队列深度的意思不言自明,即可以在端口队列中等待服务的I/O请求数量。SAS和SATA可以分别处理254和32的队列深度。如果I/O请求的数量超过了最大队列深度,则该事务将在一段时间后无法重新尝试。当你认为具有高扇出比率的存储端口可以为多个主机提供服务时,可以快速达到SAS和SATA的队列深度数据。
存储专业知识的一个关键领域是,调整存储基础架构,以确保队列处理能力与主机需求相匹配,并且适当地设置扇出和扇入比。
但这或许已经成为过去,现在NVMe能够处理高达65,000的队列深度。因此NVMe在大大增加队列深度方面是一个重要的进步。
使用SAS和SATA,排队的I/O请求数量很容易成为瓶颈。为了避免I/O请求由于超出队列深度而失败,你必须创建许多HDD的LUN,以便所有I/O都能够快速进行。
随着闪存驱动器运行在数十或数百倍的IOPS以及旋转磁盘HDD的吞吐量,吸收I/O请求的性能更为显着,而NVMe提供的65,000队列深度容量使驱动器连接符合此要求。
然而,在大多数情况下,现在和在不久的将来,这些属于理论范畴。NVME的巨大队列处理能力可以直接传递I/O流量——完全消除瓶颈。
不幸的是,存储阵列控制器通常仍然存在瓶颈,主要部分尚未构建以处理NVMe可能的性能。控制器CPU功能与NVMe的潜在性能不匹配。
所以,现在一定要提升你的I/O调整技巧,调整风扇和扇出比,队列深度等等。
本文转自d1net(转载)