首页 企业 Fusion ioMemory SX300 评测

Fusion ioMemory SX300 评测

by StorageReview 企业实验室

Fusion ioMemory SX300 是第三代 PCIe 应用加速器,强调耐用性和性价比。 SX300 和 其更高性能的 PX600 兄弟 包括 Fusion 的新“Atomic 系列”,它本质上是一个硬件平台,具有两种不同的 NAND 过度配置方案,这会导致两个驱动器的性能配置文件不同。


Fusion ioMemory SX300 是第三代 PCIe 应用加速器,强调耐用性和性价比。 SX300 和 其更高性能的 PX600 兄弟 包括 Fusion 的新“Atomic 系列”,它本质上是一个硬件平台,具有两种不同的 NAND 过度配置方案,这会导致两个驱动器的性能配置文件不同。

PX600 和 SX300 使用相同的控制器平台和相同的原始 NAND,两者之间的核心区别在于 NAND 配置。 SX300 针对容量和更好的成本指标进行了调整,而 PX600 针对耐用性进行了调整。 两种驱动器都提供相似的性能配置文件。 SX300 具有 1.25TB、1.6TB 和 3.2TB 的薄型外形规格以及 6.4TB 全高半长外形。 这篇评论以 SX3.2 的 300TB 版本为特色。 所有卡均提供 PCIe 2.0 x8 接口。

Fusion-io ioMemory SX300 提供五年保修,最高可达每张卡使用的最大耐用度。 我们的评测单元是3.2TB容量的卡。

Fusion ioMemory SX300 规格

  • 可用容量:
    • 1.25TB(型号:1300)
      • 读取带宽 (GB/s):2.6
      • 写入带宽 (GB/s):1.1
      • 跑了。 读取 IOPS (4K):195,000
      • 跑了。 写入 IOPS (4K):285,000
      • 耐力(PBW):4
    • 1.6TB(型号: 1600)
      • 读取带宽 (GB/s):2.6
      • 写入带宽 (GB/s):1.1
      • 跑了。 读取 IOPS (4K):195,000
      • 跑了。 写入 IOPS (4K):285,000
      • 耐力(PBW):5.5
    • 3.2TB(型号:3200)
      • 读取带宽 (GB/s):2.6
      • 写入带宽 (GB/s):1.2
      • 跑了。 读取 IOPS (4K):215,000
      • 跑了。 写入 IOPS (4K):300,000
      • 耐力(PBW):11
    • 6.4TB(型号:6400)
      • 读取带宽 (GB/s):2.6
      • 写入带宽 (GB/s):1.2
      • 跑了。 读取 IOPS (4K):180,000
      • 跑了。 写入 IOPS (4K):285,000
      • 耐力(PBW):22
  • NAND 类型:MLC(多级单元)
  • 读取访问延迟:92μs
  • 写访问延迟:15μs
  • 总线接口:PCI-Express 2.0 x8
  • 重量 5.2 盎司 7.25 盎司
  • 外形:薄型标准高度(1.25TB, 1.6TB、3.2TB) 半长 (6.4TB)
  • 操作系统
    • 微软:Windows Server 2012 R2、2012、2008 R2 SP1
    • Linux:RHEL 5/6、SLES 11、OEL 5/6、CentOS 5/6、Debian Squeeze、Ubuntu 12/13
    • Unix:Solaris 11.1/11 x64、Solaris 10 U11 x64
    • 管理程序:VMware ESXi 5.0/5.1/5.5、Windows Server 2012 Hyper-V、2012 R2 Hyper-V
  • 功率要求:25W
  • 温度
    • 操作:0°C – 55°C
    • 非运行时:-40°C – 70°C
  • 气流:300 (LFM)2
  • 湿度:非冷凝 5-95%
  • 低气压
    • 运行:-1,000 英尺至 10,000 英尺
    • 非运行:-1,000 英尺至 30,000 英尺
  • 保修期:3 年或最长使用期限

设计与建造

Fusion-io Atomic Series SX300 是一款单控制器 PCIe 应用加速器,具有 HHHL 和 FHHL 外形规格。 对于 1.2-3.2TB 版本,该卡具有更小的 HHHL 外形尺寸,这使其几乎可以普遍适用于市场上的服务器。 更大容量的 6.4TB 型号需要更大的高度来安装额外的 NAND,尽管它仍然适合市场上的大多数服务器,只是不是所有插槽。

新的 Atomic 系列 SX300 卡类似于 Fusion-io 之前的应用加速器,利用 FPGA 控制器,能够利用主机资源,他们声称提供更低的延迟性能,更接近 CPU。 与 ioDrive2 系列相比的一个小区别是,最新型号都没有使用两个控制器(之前在 Duo SLC 和 MLC 产品中发现过)。 这有助于节省功耗,更不用说它为用户提供了一个单一的存储池,而不是两个他们需要一起条带化的存储池。

Fusion-io 还取消了 SX300 卡上的任何外部电源连接,这在第一代和第二代型号上都可以看到。 原因是旧型号可能在更高性能模式下消耗更多功率,并且某些服务器无法在高于最低 PCIe 功率规格的情况下安全运行。 然而,目前市场上的服务器支持更高的功率需求,因此 Fusion-io 包括通过插槽本身启用更高功率模式的能力。

测试背景和比较

Fusion-io ioMemory SX300 是单个 FPGA 控制器和带有 PCIe 2.0 x8 接口的 Intel MLC NAND。

本次审查的可比性:

  • 融合-io PX600 (2.6TB,1x FPGA 控制器,MLC NAND,PCIe 2.0 x8)
  • Fusion-io ioDrive2 (1.2TB,1x FPGA 控制器,MLC NAND,PCIe 2.0 x4)
  • Fusion-io ioDrive2 双核 (2.4TB,2 个 FPGA 控制器,MLC NAND,PCle 2.0 x8)
  • Fusion-io ioDrive2 双核 (1.2TB,2 个 FPGA 控制器,SLC NAND,PCle 2.0 x8)
  • Fusion-io ioScale (3.2TB,1x FPGA 控制器,MLC NAND,PCIe 2.0 x4)
  • 华为Tecal ES3000 (2.4TB,3 个 FPGA 控制器,MLC NAND,PCIe 2.0 x8)
  • 英特尔SSD 910 (800GB,4 个英特尔 EW29AA31AA1 控制器,MLC NAND,PCIe 2.0 x8)
  • LSI Nytro WarpDrive(800GB,4 个 LSI SandForce SF-2500 控制器,MLC NAND,PCle 2.0 x8)
  • 记忆 PBlaze3H (2.4TB,2 个 FPGA 控制器,MLC NAND,PCIe 2.1 x8)
  • 记忆 PBlaze3L (1.2TB,1x FPGA 控制器,MLC NAND,PCIe 2.1 x8)
  • 美光P320h (700GB,1 个 IDT 控制器,SLC NAND,PCIe 2.0 x8)
  • 美光P420m (1.6TB,1x IDT 控制器,MLC NAND,PCIe 2.0 x8)
  • OCZ ZD-XL 闪光灯 (1.6TB,8 个 LSI SandForce SF-2500 控制器,MLC NAND,PCle 2.0 x8)
  • Virident FlashMAX II (2.2TB,2x FPGA 控制器,MLC NAND,PCIe 2.0 x8)

所有 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 位或 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)

应用性能分析

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

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

ioMemory SX300 在 NoSQL 基准测试中为获得最佳性能而过度配置时的平均延迟为 1.527 毫秒,与其兄弟 PX600 相当。 两个 Atomic 驱动器都在这个大型数据集中获得了最好的加速器。

在 NoSQL 基准测试期间,ioMemory SX300 在协议早期的合并读取操作期间经历了高达 13.79 毫秒的延迟峰值,在合并写入操作期间出现了 11.84 毫秒的较小峰值。 这两个峰值都不足以显着影响基准测试期间的整体性能。

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

Memblaze PBlaze3 平台在我们迄今为止针对 MySQL 工作负载进行基准测试的 PCIe 闪存驱动器中名列前茅。 在多达 16 个线程时,两个 Atomic ioMemory 驱动器的性能都优于 PBlaze3 同类产品。 在 16 个线程以上,PX600 和 SX300 仅略微被 PBlaze3H 领先。

MySQL 基准测试期间平均延迟的比较结果相似,PX600 和 SX300 几乎在所有工作负载下都优于 PBlaze3 驱动器。

Fusion 驱动器比 PBlaze3 平台更好地处理最坏情况下的延迟情况。

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

就每秒事务数而言,SX300 能够与我们的 Microsoft SQL 基准测试中的同类驱动器保持同步。 吞吐量通常不是具有 30,000 个用户 SQL Server 基准的当前一代 PCIe 存储的限制因素。

Microsoft SQL Server 基准测试中用于评估性能的更重要指标是平均延迟。 在 30,000 个虚拟用户的工作负载下,ioMemory SX300 展示了其 Fusion-io 颜色,作为 Fusion 驱动器队列的一部分,这些驱动器在 SQL Server 基准测试中拥有迄今为止最好的 PCIe 性能。

企业综合工作负载分析

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

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

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

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

在 Linux 中 4% 写入操作的 100k 预处理工作负载下,具有高性能预留空间的 SX300 经历了竞争激烈的爆发期。 否则,两种 SX300 过度配置方案在接近稳态时都会出现性能下降。

在 Windows 环境下,SX300 的 4k 写入吞吐量在 Windows 中处于最佳状态,比 Linux 性能略有优势。

股票 SX4 超额配置方案的平均 300k 写入延迟最终上升到 Linux 中同类驱动器中最高的,但高性能超额配置将 SX300 推向了中间位置。

在 Windows 中,高性能超额配置还发现 SX300 在 4k 预处理期间写入操作的平均延迟方面处于中间位置。

尽管出现了短暂的性能问题,例如在 20k 预调节期间测量到 4 毫秒的延迟以及库存过度配置,但 SX300 在 Linux 测试平台的平均延迟方面表现出色。

ioMemory SX300 在 4k 写入预处理期间的最大延迟结果在 Windows 中更为显着。 库存配置的最大延迟经常超过 200 毫秒,而高性能超额配置仍然经常超过 150 毫秒的最大测量延迟。

绘制标准偏差计算图提供了一种更清晰的方法来比较基准测试期间收集的各个延迟数据点之间的变化量。 在 Linux 中 300k 基准测试的写入预处理期间,SX4 的标准偏差结果使其处于可比较组的中间位置。

在 Windows 中,情况大同小异。 SX300 在 4k 预处理期间取得了可观的标准偏差结果,但没有像华为 ES3000 或美光 P430m 那样令人印象深刻。 SX300 也落后于其更注重写入性能的 Atomic 兄弟 PX600。

完成预处理后,ioMemory SX300 在为 4k Linux 基准测试中的高性能过度配置时达到第四好的写入性能。 高性能过度配置对读取性能的影响较小,这使 SX300 处于或接近两种配置的底部。

SX300 在读取性能方面略胜 PX600,在 Windows 的 4k 基准测试中,两个驱动器都为高性能而过度配置。 高性能配置的写入性能竞争力较弱,为 138,897IOPS。

SX4 在 Linux 中的 300k 基准平均延迟结果处于或接近同类产品中的最高水平,无论驱动器是否为额外性能而过度配置。

Windows 中的平均延迟对于 SX300 来说更具竞争力,尤其是在高性能过度配置的情况下。

在 Linux 的 300k 基准测试期间,高性能超额配置仅对 ioMemory SX4 的写入操作有显着影响。 启用高性能配置可将最大延迟从 15.36 毫秒减少到 12.96 毫秒。

在 Windows 中,SX300 和 PX600 都遇到了比 Linux 4k 基准测试期间更大的延迟峰值。

标准偏差计算继续显示 SX300 在 4k Linux 基准测试期间的可比驱动器中是可靠但表现平平的。

在 Windows 中,SX300 在延迟结果的一致性方面处于中间位置; 不管数百毫秒的瞬时峰值,SX300 的整体延迟性能在 Windows 中比在 Linux 中的同类产品更具竞争力。

我们的下一个工作负载使用 8k 传输,读取操作占 70%,写入操作占 30%。 第一组图表显示了在预处理过程中进行的测量。 在 Linux 中,SX300 的突发吞吐量性能处于同类产品的前半部分。 爆发期过后,为高性能而过度配置的 SX300 在接近 140,000IOPS 附近的稳定状态时能够保持竞争地位。

在 8k 70/30 基准测试的 Windows 预处理期间,SX300 在两种配置的突发期间的吞吐量方面也表现良好。 当驱动器接近稳定状态时,高性能配置保持了第三名的成绩。

在平均延迟方面,高性能 SX300 配置在 Linux 预调节期间落后于两个 ioMemory PX600 配置和华为 ES3000。

在 Windows 中,高性能 SX300 配置超越了普通 PX600 的平均延迟结果,接近稳定状态,位居第三。

两种 SX8 配置在 Linux 中记录的 300k 最大延迟,与我们也进行基准测试的两种 PX600 配置非常相似,优于除华为 ES3000 和美光 P420m 之外的所有其他同类产品。

8k 基准测试的 Windows 预处理测量表明,与 Atomic ioMemory 平台在 Linux 中的性能相比,SX300 和 PX600 在处理最大延迟方面存在困难。 两种 SX300 配置都经历了 235 毫秒以上的峰值。

在 8k 预处理期间在 Linux 中测量的延迟的标准偏差计算将 SX300 置于可比驱动器之间的一致性方面的中间位置,SX300 库存超额配置方案以及超额配置以实现高性能。

SX300 的 Windows 标准偏差结果显示比 Linux 中的值循环更多,但就其延迟结果的一致性而言,SX300 也处于中间位置。

通过在 Linux 测试台上完成 8k 70/30 预处理,高性能 SX300 超额配置几乎可以反映普通 PX600 的性能,在每个工作负载变化中排名第三。

在 Windows 中,SX300 在为更高性能进行过度配置时也表现良好。 在 16 个线程的最大负载和 16 个队列深度下,高性能 SX300 配置以 129,852IOPS 位居第三。

在 8k 70/30 基准测试期间,Linux 的平均延迟结果使 SX300 处于有利地位,特别是配置了高性能预留空间。 如此配置后,它仅次于 PX600,是我们在此类中进行基准测试的最佳驱动器。

对于 SX8,70k 30/300 基准测试在 Windows 中的竞争力较弱,其中库存过度配置仅始终优于同类产品中的库存 ioDrive Duo MLC 配置。

我们 Linux 平台上 8k 70/30 基准测试的最大延迟测量结果令人印象深刻,没有明显的峰值,总体最大延迟结果与 PX600 非常相似。

在 Windows 中,SX300 和 PX600 都在与延迟峰值作斗争,这给 8k 70/30 基准测试的最大延迟图表带来了戏剧性。 具有库存超额配置的 SX300 配置在 249.35 个线程和 16 个队列深度下达到 4 毫秒的延迟。

Linux 8k 基准测试的标准偏差结果显示高性能 SX300 过度配置与库存 PX600 配置同步移动。

Windows 最大延迟图表中显示的延迟尖峰消失在标准偏差结果的平均值中,SX300 为 8k 70/30 工作负载提供一致的延迟性能,即使不是值得注意的延迟性能,而不管最大延迟结果中偶尔出现的尖峰。

结语

Fusion-io (SanDisk) ioMemory SX300 旨在成为新的、简化的 ioMemory Atomic 系列产品线的高容量产品。 它的性能在一系列企业存储基准测试中即使不是值得注意的,也是一致的。 对于专为更多读取密集型工作负载和适度耐用性而设计的驱动器,其写入性能可能比预期更具竞争力。 Fusion-io 主要基于过度配置来区分 PX600 和 SX300,这会影响耐用性和容量,以及某些情况下的性能。 得益于出厂时较重的超额配置水平,PX600 能够在放弃部分容量的同时保持更高的写入性能和耐用性。 SX300 获得了更多的容量和更好的成本/GB 概况,但放弃了耐用性,在某些情况下放弃了性能,使其成为 PX600 兄弟。

在 4k 和 8k 70/30 测试等综合基准测试中,测试了驱动器的全部容量。 在库存设置中,SX3.2 为 300TB,PX2.6 为 600TB。 PX600 在写入性能方面具有优势,因为该驱动器有更多 NAND 可用于处理后台活动。 如果使用 ioSphere 降低 SX300 的容量以匹配 PX600,结果将几乎相同。

在被测数据集有限且所有被测产品大小相同的应用程序测试中,两种 Atomic 系列驱动器的性能几乎相同。 在 MarkLogic NoSQL 测试中,两个驱动器在 0.003 多个小时的测试中相隔 30 毫秒。 在 Microsoft SQL Server TPC-C 测试中,两个驱动器均记录了 3 毫秒的平均延迟,SX300 略微领先 TPS。 在 Sysbench 测试中,我们看到了同样的事情,两个驱动器的性能相互重叠,尽管 PX600 保持了另一个微弱的领先优势。

当需要做出购买决定时,卡之间的差异实际上归结为每个卡都保证的耐用水平,而不是性能。 PX600 提供 12、16、32 和 64PB 四种容量的写入耐久性,而 SX300 的额定值为 4、5.5、11 和 22PB。 在较小的卡上,这是 4 倍的差异,而对于最大的型号,差异缩小到略低于 3 倍。 对于那些具有更多读取密集型工作负载并且无需额外耐用性即可完成工作的用户,SX300 为市场带来了更大的容量和更高的每 GB 价值。

优点

  • 尽管 NAND 芯片缩小面临挑战,但性能与上一代产品相当
  • 优秀的驱动管理软件
  • 针对应用程序性能和合理的耐用性进行了调整

缺点

  • Windows 与 Linux 中的一些峰值延迟问题

底线

Fusion ioMemory SX300 为往往更以读取为中心的延迟敏感型工作负载提供出色的性能配置文件。 由于 PX600 的容量增加,客户可以享受更优惠的每 GB 定价,同时几乎不牺牲性能。

融合ioMemory SX300