主页 企业 Fusion-io ioDrive2 Duo MLC 应用加速器评测

Fusion-io ioDrive2 Duo MLC 应用加速器评测

by StorageReview 企业实验室

Fusion-io ioDrive2 Duo MLC 是一款全高半长 (FHHL) 应用程序加速器,可通过 x2.4 PCI Express 插槽提供高达 8TB 的容量。 Fusion-io 卡以其吞吐量性能和低延迟而著称,这两者的结合推动了业内一些最佳的响应能力。 Fusion-io 的 ioDrive2 卡基本上都是一样的,只是硬件不同而已。 在这种情况下,与标准 ioDrive2 相比,ioDrive2 Duo 结合了第二个控制器并将 NAND 池加倍。 Fusion-io 在此迭代中也使用 MLC,这意味着与驱动器的 SLC 版本相比,用户可以获得两倍的容量。 在性能方面,MLC 和 SLC ioDrive2 Duo 卡的性能非常相似,最明显的区别在于读取延迟,MLC 为 68µs,SLC 为 47µs,以及耐用性。


Fusion-io ioDrive2 Duo MLC 是一款全高半长 (FHHL) 应用程序加速器,可通过 x2.4 PCI Express 插槽提供高达 8TB 的容量。 Fusion-io 卡以其吞吐量性能和低延迟而著称,这两者的结合推动了业内一些最佳的响应能力。 Fusion-io 的 ioDrive2 卡基本上都是一样的,只是硬件不同而已。 在这种情况下,与标准 ioDrive2 相比,ioDrive2 Duo 结合了第二个控制器并将 NAND 池加倍。 Fusion-io 在此迭代中也使用 MLC,这意味着与驱动器的 SLC 版本相比,用户可以获得两倍的容量。 在性能方面,MLC 和 SLC ioDrive2 Duo 卡的性能非常相似,最明显的区别在于读取延迟,MLC 为 68µs,SLC 为 47µs,以及耐用性。

在之前的评论中 ioDrive2 双核 SLCioDrive2 MLC,我们在硬件和软件功能方面详细介绍了 Gen1 卡的更新和增强功能。 值得注意的是每次都有几个基本租户附带 Fusion-io 卡。 ioMemory 卡依靠主机 CPU 来卸载大部分工作。 这利用了服务器中最昂贵的资源之一,这些资源通常未得到充分利用,即使在高度虚拟化的环境中也是如此。 Fusion-io 还使用 FPGA 作为 NAND 控制器,与 ASIC 相比,这为它们提供了更多的可编程性和在产品生命周期内进行更大增强的机会。 该驱动器还采用 Adaptive FlashBack 技术,该技术允许驱动器遭受 NAND 故障,而不会在驱动器重新映射时冒任何数据丢失或停机的风险。 Fusion-io 还增强了他们的 VSL 软件以提供改进的小块性能,并且它通过 ioSphere 提供了市场上最强大的驱动器管理软件。

ioDrive2 Duo 目前有两个版本,2.4TB MLC 型号和 1.2.​​XNUMXTB SLC 型号。

Fusion-io ioDrive2 Duo MLC 规格   

  • 性能
    • 读取带宽 (1MB):3.0 GB/s
    • 写入带宽 (1MB):2.5 GB/s
    • 跑了。 读取 IOPS (512B):540,000
    • 跑了。 写入 IOPS (512B):1,100,000
    • 跑了。 读取 IOPS (4K):480,000
    • 跑了。 写入 IOPS (4K):490,000
    • 读取访问延迟:68us
    • 写访问延迟:15us
  • 2xnm NAND 闪存多层单元 (MLC)
  • 总线接口:PCI-Express 2.0 x8 电气 x8 物理
  • 重量:<11 盎司
  • 外形:全高、半长 (FHHL)
  • 保修期:5 年或最长使用期限
  • 支持的操作系统
    • Microsoft Windows:Windows Server 2012、Windows Server 2008 R2、64 位 Windows Server 2008、64 位 Windows Server 2003
    • Linux:RHEL 5/6; SLES 10/11; OEL 5/6; 中央操作系统 5/6; Debian 挤压; 软呢帽 16/17; 开放SUSE 12; Ubuntu 10/11/12
    • UNIX:Solaris 10/11 x64; OpenSolaris 2009.06 x64; 操作系统 10.6/10.7/10.8
  • 管理程序:
    • VMware ESX 4.0/4.1/ESXi 4.1/5.0/5.1、带有 Hyper-V 的 Windows 2008 R2、Hyper-V Server 2008 R2

设计与建造

Fusion ioDrive2 Duo 2.4TB MLC 是一个全高半长 (FHHL) x8 PCI-Express 2.0 卡,主电路板上有两个控制器和一个 PCIe 开关。 NAND 通过两个子板连接,使 Fusion 在切换到新的 NAND 配置时具有制造优势。 他们可以安装新的子板并将新固件闪存到 FPGA 上,而不是每次进行光刻更改(NAND 芯片缩小)时都重新设计卡。 我们的 MLC ioDrive2 Duo 由两个 1,200GB ioMemory 设备组成,每个设备使用 4 条 PCIe 连接通道。 PCB 布局非常高效,大型无源散热器覆盖了卡右侧的两个控制器。

ioDrive2 Duo MLC 与 Fusion-io 的其他 ioMemory 产品共享相同的布局和管理软件。 有关这些的更多信息,请参阅我们对 ioDrive2 双核 SLC or ioDrive2 MLC.

测试背景和比较

Fusion-io ioDrive2 Duo MLC 使用两个 40nm Xilinx Virtex-6 FPGA 控制器和带有 PCIe 2.0 x8 接口的 Intel MLC NAND。

本次审查的可比性:

所有 PCIe 应用加速器都在我们的第二代企业测试平台上进行了基准测试,该平台基于 联想ThinkServer RD630. 对于综合基准,我们利用 FIO Linux 版本 2.0.10 和 Windows 版本 2.0.12.2。 在我们的综合测试环境中,我们使用时钟速度为 2.0GHz 的主流服务器配置,尽管具有更强大处理器的服务器配置可以产生更高的性能。

  • 2 x Intel Xeon E5-2620(2.0GHz,15MB 缓存,6 核)
  • 英特尔 C602 芯片组
  • 内存 – 16GB (2 x 8GB) 1333Mhz DDR3 Registered RDIMM
  • Windows Server 2008 R2 SP1 64 位、Windows Server 2012 Standard、CentOS 6.3 64 位
  • LSI 9211-4i SAS/SATA 6.0Gb/s HBA(用于启动 SSD)
  • LSI 9207-8i SAS/SATA 6.0Gb/s HBA(用于基准测试 SSD 或 HDD)

值得注意的是,我们选择的可比较产品主要是基于 MLC 的驱动器,SLC Micron PCIe 驱动器除外。 也就是说,并非所有 PCIe 驱动器在性能目标和价格方面都是平等的。 特定的应用程序需要特定的存储需求,因此我们选择在 NAND 类型而不是控制器数量等方面对组件进行标准化。 

应用性能分析

为了了解企业存储设备的性能特征,必须对实时生产环境中的基础架构和应用程序工作负载进行建模。 因此,我们对 Seagate 1200 SSD 的前三个基准测试是 MarkLogic NoSQL 数据库存储基准, 通过 SysBench 的 MySQL OLTP 性能Microsoft SQL Server OLTP 性能 具有模拟的 TCP-C 工作负载。

我们的 MarkLogic NoSQL 数据库环境需要四个一组的 SSD,可用容量至少为 200GB,因为 NoSQL 数据库的四个数据库节点需要大约 650GB 的空间。 我们的协议使用 SCST 主机并在 JBOD 中呈现每个 SSD,每个数据库节点分配一个。 该测试以 24 个间隔重复进行,对于此类 SSD 总共需要 30-36 小时。 MarkLogic 记录每个 SSD 的总平均延迟以及间隔延迟。

在我们的 MarkLogic NoSQL 基准测试中比较总体平均延迟时,Fusion-io ioDrive2 Duo MLC 表现非常出色,紧随其后。

华为 ES3000 1.2TB HP 提供了该组中最好的延迟,峰值平均间隔延迟在 3.5-9.9 毫秒之间。

基于 SLC 的美光 P320h 700GB 在该组中排名第二,峰值测量值在 12-17.7 毫秒之间。

查看 ioDrive2 Duo MLC 的完整延迟输出,它的响应时间相当紧凑,在 25-30+ms 范围内有一些尖峰。

Virident FlashMAX II 2.2TB HP 位于我们基于 MLC 的 PCIe SSD 包的中间位置,平均延迟峰值在 16-26 毫秒之间。

与 Virident FlashMAX II 910TB 相比,英特尔 SSD 2.2 的总体平均延迟时间有所提高,峰值范围为 6-50 毫秒。

Fusion-io ioDrive2 也落后于多控制器 PCIe 应用程序加速器,其峰值也在 6-50 毫秒范围内。 

Micron P420m 在我们的 MarkLogic NoSQL 数据库测试中垫底,峰值在 25-74 毫秒之间。

我们的下一个应用测试包括 通过 SysBench 进行 Percona MySQL 数据库测试,它衡量 OLTP 活动的性能。 在此测试配置中,我们使用一组 联想 ThinkServer RD630s 并将数据库环境加载到单个 SATA、SAS 或 PCIe 驱动器上。 该测试测量平均 TPS(每秒事务数)、平均延迟以及 99 到 2 个线程范围内的平均 32% 延迟。 Percona 和 MariaDB 在其最新版本的数据库中使用 Fusion-io 闪存感知应用程序 API,尽管为了进行比较,我们在其“传统”块存储模式下测试了每个设备。

ioDrive2 Duo MLC 在我们的 Sysbench 测试中名列第三,落后于华为 ES3000 PCIe SSD。 它提供的性能范围从 313 线程时的 2 TPS 到 2,521 线程时的 32 TPS。

比较我们 Sysbench 测试中的平均延迟,Fusion-io ioDrive2 Duo MLC 从 6.38 线程的 2 毫秒扩展到 12.69 线程的 32 毫秒。

查看 ioDrive2 Duo MLC 的第 99 个百分位延迟,它在负载下保持非常一致,从 15.11 线程时的 2 毫秒到 23.92 线程时增加到 32 毫秒。

StorageReview 的 Microsoft SQL Server OLTP 测试协议 采用事务处理性能委员会基准 C (TPC-C) 的当前草案,这是一种在线事务处理基准,模拟复杂应用程序环境中的活动。 TPC-C 基准比综合性能基准更接近于衡量数据库环境中存储基础设施的性能优势和瓶颈。 我们的 SQL Server 协议使用 685GB(3,000 规模)的 SQL Server 数据库,并测量 30,000 个虚拟用户负载下的事务性能和延迟。

比较我们的 SQL Server 基准测试的事务性能,没有一个 PCIe 应用程序加速器能够跟上我们服务器配置的最大能力。 对于此类别,重点更多地放在下面的延迟方面。

在最低平均延迟方面,Fusion-io 以前 4 名的成绩在我们的 SQL Server 基准测试中占据主导地位,而 ioDrive2 Duo MLC 以 ​​3 毫秒位居榜首。

企业综合工作负载分析

闪存性能在每个存储设备的整个预处理阶段各不相同。 我们的综合企业存储基准流程从分析驱动器在彻底的预处理阶段的运行方式开始。 每个可比较的驱动器都使用供应商的工具进行安全擦除,在 16 个线程的重负载下使用相同的工作负载预处理到稳定状态,每个线程有 16 个未完成队列,然后按设定的时间间隔进行测试在多个线程/队列深度配置文件中显示轻度和重度使用情况下的性能。

  • 预处理和初级稳态测试:
  • 吞吐量(读+写 IOPS 聚合)
  • 平均延迟(读+写延迟一起平均)
  • 最大延迟(峰值读取或写入延迟)
  • 延迟标准偏差(读+写标准偏差一起平均)

我们的企业综合工作负载分析包括两个基于实际任务的配置文件。 开发这些配置文件是为了更容易与我们过去的基准测试以及广泛发布的值(例如最大 4k 读写速度和 8k 70/30,通常用于企业硬件)进行比较。

  • 4k
    • 100% 读取或 100% 写入
    • 100% 万
  • 8k 70/30
    • 70% 读取,30% 写入
    • 100% 万

在此测试中,我们在 Linux 和 Windows 上比较了六个驱动器(FlashMAX II HP、Fusion ioDrive2 Duo SLC HP、Huawei ES3000 2.4TB HP、Micron P420m 1.4TB、Fusion ioDrive2 Duo MLC Stock 和 Fusion ioDrive2 Duo MLC HP)。 此外,对于 ioDrive2 Duo MLC,我们利用其超量配置功能实现高性能 (HP) 测试模式。

我们的第一个测试测量 100% 4k 随机写入性能,负载为 16T/16Q。 Fusion-io ioDrive2 Duo MLC 库存分别针对 Linux 和 Windows 测试了 530,000 和 350,000 IOPS(分别稳定在 120,000 和 115,000 IOPS 左右)。 ioDrive2 Duo MLC HP 的爆发值与 ioDrive2 Duo MLC 库存的相似,但在它们各自趋于稳定后值更高(ioDrive2 Duo MLC HP 在 Linux 和 Windows 上分别稳定在 200,000 和 185,000)。 ioDrive2 Duo MLC 整体处于中间位置; 在整个测试期间,华为 ES3000 HP 的表现优于它(尽管华为 ES3000 HP 在 Linux 上的表现非常零星),并且在稳定状态下,Fusion ioDrive2 Duo SLC HP 的表现优于它。 然而,在整个测试过程中,它的表现优于 Micron P420m 和 FlashMAX II HP。

ioDrive2 Duo MLC 的平均延迟与其他测试的驱动器相比也是平均的,无论是在突发速率还是稳定状态下; 它的性能比 FlashMAX II HP 和 Micron P420m 都快,并且优于 Huawei ES3000 HP 和 ioDrive2 Duo SLC HP(尽管 ioDrive2 Duo MLC HP Linux 和 ioDRive2 Duo SLC Windows 的稳定状态相当)。

最大延迟测试表明,ioDrive2 Duo MLC 在 Linux 上的表现明显优于在 Windows 上的表现。 在其最佳条件下(惠普 Linux,15 毫秒),它与美光 P420m(始终在 5 到 7 毫秒之间运行)和华为 ES3000(尽管性能不规律,但峰值接近 2 毫秒)并列前三。

在 Linux 上测试的 ioDrive2 Duo MLC 驱动器比在 Windows 上测试的驱动器表现得更好、更一致,表现出更低的标准偏差(惠普驱动器分别为 2.1 毫秒和 2.5 毫秒,普通驱动器分别为 2.8 毫秒和 3.2 毫秒)驱动器)。 华为 ES3000 HP 和美光 P420m 在标准偏差测试中占据主导地位,前者为 0.5ms(Linux)和 0.7ms(Windows),后者为 0.7(Linux 和 Windows)。

经过 12 小时的预处理,ioDrive2 Duo MLC HP 和 stock 在 Windows 中分别实现了 4 IOPS 和 432,000 IOPS 的 419,000K 随机读取性能(在 Linux 中分别为 369,000 IOPS 和 384,000 IOPS)。 Windows 中的写入值为 182,000 IOPS (HP) 和 110,000 IOPS(库存),Linux 中为 200,000 IOPS (HP) 和 120,000 IOPS(库存)。 ioDrive2 Duo MLC 的读取值被其他所有产品超越,但 FlashMAX II HP 和 HP 写入值通常处于平均水平。

Fusion-io ioDrive2 Duo MLC 在普通驱动器和惠普驱动器中的写入值(分别为 Linux 中的 2.127 毫秒和 Windows 中的 2.316 毫秒以及 Linux 中的 1.274 毫秒和 Windows 中的 1.4 毫秒)仅比 MicronP420m 和 FlashMAX II HP 快。 从 ioDrive MLC 驱动器获得的读取值总体上超过了除 FlashMAX II HP 和 ioDrive2 Duo SLC HP(仅限 Linux)以外的所有驱动器。

在 Windows 中,普通和 HP ioDrive2 Duo MLC 驱动器的读取值更快(分别为 19.972 毫秒和 16.479),但在 Linux 中写入值的速度更快(分别为 47.675 毫秒和 55.809 毫秒)。 与其他测试的驱动器相比,这些值不是很有竞争力。

与其他驱动器相比,ioDrive2 Duo MLC 的整体写入性能一致性最差,唯一的例外是 ioDrive2 Duo SLC HP。 Windows 测试的 ioDrive2 Duo MLC 驱动器读取性能的标准偏差更具竞争力(惠普为 0.222 毫秒,库存为 0.239 毫秒),但仍大致处于平均水平。 Micron P420m 的读取值(Windows 为 0.089,Linux 为 0.154)在此测试中最为一致。

我们的下一个测试是 8K 70/30 比率的工作负载,其中 ioDrive2 Duo MLC 集体排在最后一位。 在爆率期间,ioDrive2 Duo MLC 原厂驱动器略胜惠普驱动器,但惠普驱动器在它们各自趋于平稳后超过了原厂驱动器。 对于此测试,Linux 和 Windows 之间的性能没有差异。

与上次测试一样,ioDrive2 Duo MLC 总体上是所有测试驱动器中最慢的。 随着 HP 驱动器趋于平稳,Linux 和 Windows 的平均延迟分别保持在 2.10 毫秒和 2.20 毫秒。 在此测试期间,备用驱动器并未完全稳定,一直持续变慢直至结束,Linux 和 Windows 的平均延迟分别为 2.35 毫秒和 2.45 毫秒。

ioDrive2 Duo MLC 在最大延迟测试中总体表现良好,与其他测试的驱动器相比得分非常一致,并且突发速率和稳态速率之间的变化很小。 尽管 Micron P420m 和 Huawei ES3000(均在 Windows 上)主导了该测试,但大多数其他驱动器表现出非常不稳定的性能或更高的最大延迟。

ioDrive2 Duo MLC 总体上表现出最高的标准偏差,因为一​​切趋于平稳,在 Linux 和 Windows 的 HP 模式下分别达到 2.7 毫秒和 2.9 毫秒(尽管 Windows 上的 FlashMAX HP 显示了一个峰值,超过了 ioDrive2 Duo MLC 驱动器的数字)。

对于此测试,ioDrive2 Duo MLC 达到的峰值超过了其他驱动器的一些低点; 在大多数情况下,所有 ioDrive2 Duo MLC 驱动器的性能都相对较差,与华为 ES113,000 HP 相比,其最佳状态下达到了 3000 IOPS 的峰值(HP Linux),后者以一致性更好的性能和峰值340,000 次IOPS。 在此测试期间,普通驱动器和 HP ioDrive2 Duo MLC 驱动器仅略微支持 Linux。

与其他测试的驱动器相比,ioDrive2 Duo MLC 驱动器共同表现出最慢的平均延迟。 同样,Linux 驱动器在标准模式和 HP 模式下的性能仅略高于 Windows 驱动器。

ioDrive2 Duo MLC 在此测试中的表现优于 ioDrive2 Duo SLC,但仅此而已; 在测试期间,测试的其他驱动器通常比 ioDrive2 Duo MLC 快大约 10 毫秒。 在比较本次测试的 Linux 和 Windows 驱动器时,总体上几乎没有差异。 惠普驱动器的得分约为 23 毫秒,库存驱动器的得分约为 27 毫秒。

ioDrive2 Duo MLC 总体上是所有测试驱动器中最不一致的。 HP 驱动器的标准偏差至少比最接近的竞争对手(Fusion ioDrive0.2 Duo SLC)多 2 毫秒,比领先的华为 ES0.4 驱动器多 1.0 到 3000 毫秒。 普通驱动器始终比惠普驱动器落后 0.3 毫秒,而 Linux 驱动器在 ioDrive2 Duo MLC 的整个测试中表现略好。

结论

2TB 的 Fusion-io ioDrive2.4 Duo MLC 为企业提供性能和容量的组合,以满足其最苛刻的应用程序。 在我们对 ioMemory 卡的许多评论中,我们对 Fusion-io 寄予厚望,而且很少让我们失望。 与之前的其他产品一样,MLC ioDrive2 Duo 提供跨操作系统的可预测性能,并利用最好的软件包之一来管理存储,其中包括一个简单的工具,可将驱动器置于高性能模式以提高响应速度。

深入研究实际应用程序性能,ioDrive2 Duo MLC 在所有基准测试中处于或接近顶部。 它的最佳性能在我们的 SQL Server 基准测试中得到了体现,它在延迟方面领先于其他 PCIe 应用程序加速器。 在我们的 MarkLogic NoSQL 和 Sysbench MySQL 测试中,ioDrive2 Duo 名列前茅,仅次于华为 ES3000 卡。 就纯合成性能而言,ioDrive2 Duo MLC 在我们的 Windows 环境中发现了一些最大延迟问题,排在中等或中上等位置,尽管正如我们在应用程序测试中指出的那样,这并未反映在实际测试中。 总的来说,ioDrive2 Duo MLC 给我们留下了深刻的印象,它在 Linux 和 Windows 测试环境中提供了行业领先的性能。

优点

  • 出色的 SQL Server 性能
  • 在 NoSQL 和 MySQL 数据库基准测试中表现出色
  • 易于过度配置,以提高写入工作负载的耐用性或性能
  • 行业领先的管理软件

缺点

  • Windows 环境中的一些最大延迟波动

底线

Fusion ioDrive 2 Duo MLC 发布了出色的数据库性能分数,突出表现在 SQL OLPC 基准测试中的图表顶级延迟。 对于那些需要更多卡的人来说,很容易调整配置以获得更多的耐用性或以写入为中心的工作负载的性能。

Fusion-io ioDrive2 产品页面

讨论这篇评论