Fusion-io ioDrive 2 MLC固态硬盘评测(1.2TB)

Fusion-io ioDrive 2 MLC应用加速器的最高容量为1.2TB,外形尺寸为半标高半标长(HHHL)(如果外形尺寸为全标高半标长即FHHL,则最高容量为3TB),这款产品的特点是读写数据延时非常低。虽然我们以前评测过ioDrive 2旗舰Duo SLC,但是ioDrive 2 单磁盘MLC非常适用于更单调的工作负载。 IoMemory术语中的单调负载指的是象数据库那样的应用,它们可以接受的读数据延时为68µs,相比之下,高端SLC ioDrive 2的延时为47µs。当然,为这款硬盘配备MLC NAND可以降低成本,还可以提高容量。ioDrive 2单磁盘MLC在HHHL规格下的最高容量为1.2TB,在FHHL规格下的最高容量为3TB;而SLC Duo的最高容量为600GB和1.2TB,但是配备MLC的Duo的最高容量为1.2TB(HHHL)和2.4TB(FHHL)。

我们将强调这款产品在设计和工艺上的某些关键要点,但是由于我们已经在SLC Duo评测中花了相当多的时间来讨论那些内容,因此我们将在本文中跳过那些内容,而将重点放在性能上面。Fusion-io利用一款FPGA作为NAND控制器,这一点很重要,因为它给它们提供了更多编程上的控制,并且允许更大程度的持续定制。 或者,ASIC固件是可以升级的,但是硅片的核心逻辑件是不能升级的。磁盘还配备了Adaptive FlashBack技术,可以让磁盘在出现NAND故障时也不会出现数据丢失或停机。 最后,Fusion-io还升级了它们的VSL软件以提高小数据块性能,另外它还提供了市面上最实用的磁盘管理软件和ioSphere。

Fusion-io提供的配备MLC NAND的ioDrive 2单卡产品在HHHL外形尺寸下的容量为365GB、785GB和1.2TB,在FHHL PCB外形尺寸下的容量为3TB。所有版本的磁盘的保修期都为5年。 我们评测的产品型号为1.2TB容量、HHHL外形尺寸的版本。

Fusion-io ioDrive 2规格
•性能
o读带宽(1MB):1.5GB/s(3TB,1.2TB,785GB);910MB/s(365GB)
o写带宽(1MB):1.3GB/s(3TB、1.2TB);1.1GB/s(785GB);590MB/s(365GB)
o随机读数据IOPS(512B):143000(3TB);275000(1.2TB);270000(785GB);137000(365GB)
o随机写数据IOPS(512B);535000(3TB,365GB);800000(1.2TB,765GB)
o随机读数据IOPS(4k);136000(3TB);245000(1.2TB);215000(785GB);110000(365GB)
o随机写数据IOPS(4k):242000(3TB);250000(1.2TB);230000(785GB);140000(365GB)
o读数据延时:68µs(所有型号)
o写数据延时:15µs(所有型号)
•2x纳米MLC NAND闪存
•总线接口:PCI-Express 2.0×4
•重量:FHHL 9盎司,HHHL 6.6盎司
•外形尺寸:半标高,半标长(HHHL)
•保修期:5年或最大使用寿命
•耐用性:16.26PB
•支持的操作系统
o微软Windows系统:64位Windows Server 2012,Windows Server 2008R2,Windows Server 2008,Windows Server 2003
oLinux:RHEL 5/6;SLES 10/11;OEL 5/6;CentOS 5/6;Debian Squeeze;Fedora 16/17;openSUSE 12;Ubuntu 10/11/12
oUNIX:Solaris 10/11×64;OpenSolaris 2009.06×64;OSX 10.6/10.7/10.8
oHypervisors:VMware ESX 4.0/4.1/ESXi 4.1/5.0/5.1,Windows 2008R2 with Hyper-V,Hyper-V Server 2008R2

设计和工艺

Fusion-io ioDrive 2 1.2TB MLC是一款半标高半标长(HHHL)x4 PCIe 2.0存储卡,它在设计上与我们评测过的ioDrive 2 Duo SLC非常相似,只是外形尺寸减少了一半。(如需了解更多关于设计的信息,请参见Duo的评测文章。) 与Duo不同的是,这款产品的NAND是通过一个基于单个控制器的NAND池连接的。它的控制器与Duo的控制器是一样的,都是40纳米Xilinx Virtex-6 FPGA。

我们评测的ioDrive 2的容量为1.2TB,运行在通过PCIe连接的4个局域网上。ioDrive 2使用的是MLC NAND,它是由24个64GB的NAND单元组成的。 按照那个数据计算,它的超额预备率为22%。与ioDrive 2 Duo一样,它支持标准的NAND,我们测试的型号使用的是英特尔的MLC NAND。

测试背景和可比参数

Fusion-io ioDrive 2 MLC使用了一款40纳米Xilinx Virtex-6 FPGA控制器和基于PCIe 2.0×4接口的英特尔的MLC NAND。

这篇评测中的可比参数:
•Intel SSD 910(800GB,4x Intel EW 29AA31AA1控制器,eMLC NAND,PCIe 2.0×8)
•LSI Nytro WarpDrive BLP4-400(400GB,SandForce SF-2500控制器,东芝eMLC NAND,PCIe 2.0×8)

所有的SAS/SATA企业级固态硬盘都在我们基于联想ThinkServer RD630的第二代企业测试平台上进行了标准测试.这个基于Linux的新测试平台包括了一些最新的互联硬件,比如LSI9207-8i HBA以及为实现最佳闪存性能而设计的I/O规划优化设备。在进行假想标准测试时,我们使用了FIO version 2.0.10 for Linux和version 2.0.12.2 for Windows。由于Fusion-io ioDrive 2使用了主机侧资源,更快的服务器时钟速度可以让它提供更高的性能。在我们的假想测试环境中,我们使用了一款主流服务器配置,时钟速度为2.0GHz,但是配备更强处理器的服务器配置可以得到更强的性能。

•2x Intel Xeon E5-2620(2.0GHz,15MB高速缓存,6核心)
•英特尔C602芯片组
•内存:16GB(2x8GB) 1333MHz DDR 3注册RDIMMs
•Windows Server 2008R2 SP1 64位,Windows Server 2012标准版,CentOS 6.3 64位
o100GB美光科技RealSSD P400e Boot SSD
•LSI 9211-4i SAS/SATA 6.0Gb/s HBA(适用于启动SSD)
•LSI 9207-8i SAS/SATA 6.0Gb/s HBA(适用于标准检查程序固态硬盘或硬盘)

应用性能分析

在企业市场上,产品在理论上的性能和它们在实际生产环境中的性能存在这巨大的差异。我们知道,评估大型系统中的存储组件是非常重要的,尤其是与关键企业应用互动时,存储组件如何回应的重要性。 为此,我们进行了第一次应用测试,包括我们通过SysBench进行的版权MarkLogic NoSQL Database Storage Benchmark和MySQL性能测试。

在我们的MarkLogic NoSQL Database环境中,我们测试了几组由4块SATA或SAS 固态硬盘组成、有效存储容量在200GB以上的设备。我们的NoSQL数据库需要650GB的空闲空间,平均分在4个数据库节点上。 在我们的测试环境中,我们使用了一台SCST主机以及以JBOD模式连接的固态硬盘,每个数据库节点分配一块固态硬盘。测试本身重复了24次,要求在30到36小时内完成。 在测量MarkLogic软件监控的内部延时的时候,我们记录下总平均延时和每块固态硬盘的间隔延时。

在我们的MarkLogic NoSQL数据库标准检测的总平均延时排名中,Fusion-io ioDrive 2 MLC的延时为4.685毫秒,略微落后于延时为4.286毫秒的英特尔SSD 910。

Fusion-io ioDrive 2 MLC的延时与英特尔SSD 910的延时相似,在6至50毫秒之间。然而,ioDrive 2在大多数测试中都保持着较低的写数据延时。

英特尔SSD910的测试结果与Fusion-io ioDrive 2相似,最大延时在6毫秒至50毫秒之间。虽然它节省的写数据和合并读写测试结果相差无几,但是它的顺序写性能在大多数测试中的得分都比较高。 总的来说,英特尔SSD910在我们的NoSQL测试中略胜于Fusion-io ioDrive 2 MLC。

我们随后进行的应用测试包括通过SysBench进行的Percona MySQL数据库测试,这项测试的目标是OLTP活动的性能。在这项测试配置中,我们使用了一组联想ThinkServer RD 630,将数据库环境加载到一块SATA、SAS或PCIe硬盘上。 这项测试检测了平均TPS(每秒交易数)、平均延时以及从2到32线程范围内的平均99%的延时。Percona和MariaDB将在最近发布的大多数数据库中使用Fusion-io闪存感知的应用API,为了便于对比,我们在每款设备的传统数据块存储模式下对它们进行了测试。

在我们的SysBench测试中,Fusion-io ioDrive 2 1.2TB在LSI Nytro WarpDrive 400GB前面,ioDrive 2的平均TPS可以在2线程305TPS至32线程2354TPS之间进行调整。

在SysBench测试中,Fusion-io ioDrive 2 1.2TB的平均延时可以在2线程6.55毫秒和32线程13.59毫秒之间进行调整。

在我们的SysBench测试中对比99%的延时,Fusion-io ioDrive 2 1.2TB的延迟性能再一次超过了LSI Nytro WarpDrive,它的延迟为29.35毫秒,而WarpDrive的延迟为39.30毫秒。

企业综合工作负载分析

每台存储设备的不同准备阶段的闪存性能是不同的。在整个准备阶段,我们的综合企业存储标准测试是从分析磁盘运行方式开始的。 每一款可比硬盘都利用厂商提供的工具进行了安全清除处理,以设备能够在承载与测试负载相同的16线程负载时能够进入稳定状态做准备,然后在多线程/队列深度剖面的固定区间进行测试,以显示不同负载下的性能表现。

前提和初步稳态测试:
•处理能力(读+写IOPS总数)
•平均延时(读+写延时平均总数)
•最大延时(最大读或写延时)
•延时标准偏差(读+写标准偏差平均总数)

我们的企业综合工作负载分析包括基于现实任务的两个案例。这些案例已经经过验证,目的是让它可以更容易与我们过去的标准检测程序以及广泛发布的价值比如最大4k读写速度和8k 70/30进行对比。
•4k
o100%读或100%写
o100%4k
•8k 70/30
o70%读,30%写
o100%8k

在这项测试中,我们将LSI Nytro WarpDrive、英特尔SSD910和Fusion-io ioDrive 2等3款设备放在Linux和Windows平台上进行了对比。另外,在测试ioDrive 2的时候,我们还利用其超额准备功能在高性能测试模式下进行了测试。

第一项测试内容是在16T/16Q的负载条件下测试100%4k随机写性能。在这种配置下,Fusion-io ioDrive 2 MLC HP在Windows平台上的测试结果为253000,在Linux平台上的测试结果为293000,进入相对稳态后,它在这两个平台上的测试结果分别为113000IOPS和118000IOPS。 Bursting HP的测试结果与Bursting存货的测试结果类似。在稳态下,英特尔SSD 910的测试结果胜过了ioDrive 2在Windows和Linux平台上的测试结果。

在16T/16Q超负荷工作负载下,Fusion-io ioDrive 2 HP在爆发模式下的延时为0.87-1毫秒,在接近稳态模式下的延时在2.16-2.24毫秒。延时数据在爆发模式下的测试结果差不多,但是在稳态模式下稍高一些,再次被英特尔SSD910超越。

对比最大延时,Fusion-io ioDrive 2 MLC在Linux平台上的最大响应时间表现明显优于它在Windows平台上的表现。另外,它的Windows HP最大延时远远落后于竞争对手。 总体而言,测试结果最好的是英特尔SSD910在Linux平台上的表现和ioDrive 2在Linux HP模式下的表现,延时分别为26毫秒和15毫秒。

在4k随机写负载测试环境中,Fusion-io ioDrive 2 Linux和Windows HP在延时一致性上的表现也不如英特尔SSD910,英特尔SSD910在Linux平台上的最高分为2.38毫秒,在Windows平台上的最高得分为2.72毫秒。

经过6个小时的准备,Fusion-io ioDrive 2 Windows stock和HP在4k随机写数据测试中的性能表现达到了惊人的252000IOPS,HP的写速度为111597IOPS,stock的写速度为61847IOPS。英特尔SSD910可以提供更大的写数据处理能力。

在16T/16Q负载下,Fusion-io ioDrive 2 Windows(HP和stock)提供的平均4k随机写延时最优,为1.013毫秒;英特尔SSD910 Windows的最佳写延时性能最优,写延时为2.097毫秒。

Fusion-io ioDrive 2 Windows stock的最大延时在读活动中的测试结果是最优的,只有7.98毫秒;但它的写活动最大延时是3款产品中最高的,达到了1030.50毫秒。

在延时一致性方面,Fusion-io ioDrive 2 MLC与它在4k随机读和写一致性测试中的结果很相近。

在我们的下一项负载测试中,我们检测了8k应用下70/30 读/写混合处理的性能。在这种测试情况下,Fusion-io ioDrive 2在最低爆破测试结果为210000+IOPS,稳态stock性能为70000IOPS,高负荷HP性能为88000IOPS。 爆破性能远远领先于其他两款产品,稳态性能接近于竞争对手产品的爆破性能,只有Nytro WarpDrive Windows是个例外。

在我们的8k70/30准备测试中,Fusion-io ioDrive 2在各种模式下的平均延时为1.2毫秒。在接近稳态模式下,HP高负荷状态的平均延时为2.88毫秒,stock空闲状态的平均延时为3.65毫秒。这些测试结果超过了竞争对手的性能得分。

在8k70/30测试的过程中,Fusion-io ioDrive 2 Linux HP的最大响应时间性能最优,最大延时都在25毫秒以内。ioDrive 2 Windows HP的最大延时最高。
Fusion-io ioDrive 2 HP Linux和Windows延时一致性是所有测试结果中最低的,分别只有2.5毫秒和2.55毫秒。

与固定16线程相比,我们在100%4k写测试中加载了16队列最大负载,我们在不同负载条件下测试的结果在线程/队列的不同组合都有关系。在这些测试中,我们采用的负载强度最低为2线程和2队列,最高为16线程和16队列。 在扩展8k 70/30测试中,Fusion-io ioDrive 2 HP for Linux和Windows的最高性能大约为88000IOPS,是这几款产品的同类测试结果中最高的。

Fusion-io ioDrive 2 HP Linux和Windows的平均延时是同类产品中最高的,空闲模式下的测试结果也是同类产品测试结果中最高的。

在变动负载8k 70/30测试的过程中,Fusion-io ioDrive 2在各种环境下的最大延时结果仍然比竞争对手产品高出很多。高负荷状态下的最高延时仍然低于110毫秒,空闲状态下最大的最高延时可以达到将近300毫秒。

在我们的测试环境中,Fusion-io ioDrive 2 HP的标准偏差为同类产品中最优的,ioDrive 2 stock的标准偏差与英特尔SSD910的标准偏差大致一样。

结论

Fusion-io ioDrive 2 MLC应用加速器在HHHL外形尺寸下的最大容量为1.2TB,在FHHL外形尺寸下的最大容量为3TB。ioDrive 2旗舰Duo SLC与我们最近评测的同类产品一样,它可以用其SLC NAND和双控制器配置来满足需求性最强的应用的需求,ioDrive 2单磁盘MLC仍然支持需要超低延时和高处理能力的高端负载。 MLC NAND还意味着Fusion-io可以以低于SLC版机型的价格提供更大容量的机型。

我们在不久之前刚刚测试了ioDrive 2 Duo SLC,因此有一个很好的参照物来判断ioDrive 2 Single的性能。然而,这次我们的测试环境已经进行了升级,因为我们逐步换掉了一些老旧的综合测试程序,以便支持MarkLogic和SysBench MySQL现实测试环境。 我们开始进行测试,ioDrive 2的测试结果比较好。虽然在MarkLogic测试中,ioDrive 2的总体平均延时略低于英特尔SSD910,但是它的性能还是很有竞争力的,它的最大journal写延时也显著低于英特尔SSD910的测试结果。 在我们的SysBench测试中,ioDrive 2与LSI Nytro WarpDrive的测试结果比较相近,虽然延时稍微低一些,但是TPS测试结果要高出数百分。

然后我们将ioDrive 2与英特尔SSD910和LSI Nytro WarpDrive进行了对比,我们将所有产品放在Linux和Windows平台上进行了测试。在通用处理能力方面,ioDrive 2的表现是最佳的。 它的HP模式的总体处理能力性能得分最高,在4k随机测试中的得分超过了250000。ioDrive 2在延时测试中的结果也很好,只有在Windows平台上进行最大延时测试时是个例外,我们在测试时还对ioDrive 2 Duo SLC进行了同样的测试。 除了那项测试外,ioDrive 2的表现也非常好。

优势
•高级管理软件包
•在4k和8k负载下,它提供的处理能力是所有入门级企业产品中最高的。
•在Sysbench和MarkLogic现实世界测试中的延时和处理能力与竞争对手相当或更高。

不足
•在Windows和Linux平台上都存在最大延时问题

结论

Fusion-io ioDrive 2 MLC可以加速系统,利用高处理能力满足大多数增强型工作负载的需求,它的表现是业内领先的软件管理套装中最好的。