NVMe 闪存存储已席卷整个行业,在需要高性能、低延迟存储的情况下将自己确立为事实上的标准。 然而,有时 NVMe 可能有些矫枉过正,或者混合闪存方法更有意义的情况。 许多利用闪存的基于服务器的软件定义解决方案可以在多层功能中实现。 VMware vSAN 和 Microsoft Azure Stack HCI 可能是这方面最著名的; 两者都可以利用小型高性能闪存池进行分层,并利用更便宜的 SSD 来提供容量。 将低成本 SATA SSD 与少量 NVMe 相结合可提供性能、容量和成本的完美结合。
NVMe 闪存存储已席卷整个行业,在需要高性能、低延迟存储的情况下将自己确立为事实上的标准。 然而,有时 NVMe 可能有些矫枉过正,或者混合闪存方法更有意义的情况。 许多利用闪存的基于服务器的软件定义解决方案可以在多层功能中实现。 VMware vSAN 和 Microsoft Azure Stack HCI 可能是这方面最著名的; 两者都可以利用小型高性能闪存池进行分层,并利用更便宜的 SSD 来提供容量。 将低成本 SATA SSD 与少量 NVMe 相结合可提供性能、容量和成本的完美结合。
考虑闪存部署的另一个因素是服务器本身。 虽然有大量来自大大小小的供应商的全 NVMe 服务器,但通常走这条路是不切实际或没有必要的。 由于 NVMe 驱动器成本高于 SATA,目前销售的大多数服务器将提供几个 NVMe 托架,其余部分与 SATA/SAS 混合使用。 以这种方式出售的一种服务器是 戴尔易安信 PowerEdge R640.
Dell EMC PowerEdge R640 是一款 1U、2 插槽服务器,专为计算密度同等的任务而设计。 在我们的实验室中,我们有一个 R640 配置有 10 个 2.5 英寸驱动器托架,包括 4 个 NVMe/SAS/SATA 组合托架和 6 个 SAS/SATA 托架,尽管戴尔提供了多种配置。 这种类型的存储配置让我们能够利用多达四个非常快速的 NVMe SSD,以及利用成本优化的 SATA SSD。 随着 I/O 需求的增长,组合托架还允许客户在 NVMe SSD 上使用更多,或者根据构建的特定要求坚持使用更多 SATA 或 SAS。
SK 海力士 PE6011 固态硬盘
为了进一步说明这个概念,我们与 SK海力士 测试一组 PE6011 NVMe 固态硬盘 和一组 SE4011 SATA SSD。 进行这些测试是为了展示每个驱动器如何相互补充,NVMe 提供更大的带宽和 I/O 潜力,而 SATA 提供容量要求,而不会显着降低延迟或性能。 这些测试清楚地阐明了性能范围的位置,因此企业有一个完整的画面来帮助决策过程,尤其是在构建软件定义的解决方案时,如对象存储 (SUSE Enterprise Storage) 或更传统的虚拟存储设备 (StoreONE) .
SATA 与 NVMe SSD – Dell EMC PowerEdge R640 测试平台
在我们的测试配置中,我们使用了配备双英特尔至强第二代可扩展 640 CPU 的戴尔 PowerEdge R2,时钟速度为 8280GHz,每个 CPU 有 2.7 个内核。 与这些 CPU 配对的是 28 个 32GB 2933MHz DDR4 模块,为系统提供了 384GB 的组合内存占用空间。 对于 SATA 连接,R640 包括一个 PERC H740P RAID 卡和配置为 HBA 直通模式的驱动器。 对于 NVMe 连接,所有四个 SSD 都通过直接 PCIe 通道与第二个 CPU 通信,而无需使用 R2 内部的 PCIe 交换机。 这种方法绕过了控制器缓存的影响,而是专注于驱动器本身在 VMware 中整体或单独的性能。
戴尔易安信 PowerEdge R640
我们的测试设置包括两个存储配置。 第一个是四个 PE6011 NVMe SSD,完全配备 PowerEdge R640 内的四个 NVMe 托架,留下六个剩余的 SATA/SAS 托架。 第二个是八个 SE4011 SATA SSD,充分利用所有专用 SATA/SAS 托架,留下两个 NVMe 组合托架可用。
对于裸机基准测试,我们使用最低限度的 CentOS 7.2 (1908),并在 vdbench 旁边安装了 OpenJava。 我们对每个驱动器组进行了总体测量,显示了四个 PE6011 NVMe SSD 的峰值性能,其次是八个 SE4011 SATA SSD。 在我们的虚拟化测试环境中,我们安装了 VMware ESXi 6.7u3,并使用数据存储格式化了单个 SSD,并将 SQL Server 或 MySQL 数据库放在它们上面。 对于 Sysbench 测试,我们利用 8 个虚拟机,在 NVMe 测试的情况下每个 SSD 上放置两个,在 SATA 测试的情况下每个 SSD 放置一个。 对于仅由 4 个虚拟机组成的测试的 SQL Server,我们将每个虚拟机放在自己的 SSD 上,为我们提供四个 NVMe SSD 或四个 SATA SSD 进行测试。
VDbench 测试/线程数
所有这些测试都利用通用的 vdBench 工作负载生成器,以及一个脚本引擎来自动化和捕获大型计算测试集群的结果。 这使我们能够在各种存储设备上重复相同的工作负载,包括闪存阵列和单个存储设备。
简介:
- 4K 随机读取:100% 读取,128 个线程,0-120% 重复率
- 4K 随机写入:100% 写入,128 线程,0-120% iorate
- 64K 顺序读取:100% 读取,32 线程,0-120% 迭代
- 64K 顺序写入:100% 写入,16 个线程,0-120% 迭代
SQL Server 配置(4 个虚拟机)
StorageReview 的 Microsoft SQL Server OLTP 测试协议采用事务处理性能委员会的基准 C (TPC-C) 的最新草案,这是一种模拟复杂应用程序环境中活动的在线事务处理基准。 TPC-C 基准比综合性能基准更接近于衡量数据库环境中存储基础设施的性能优势和瓶颈。
每个 SQL Server VM 都配置有两个虚拟磁盘:100GB 卷用于启动,500GB 卷用于数据库和日志文件。 从系统资源的角度来看,我们为每个虚拟机配置了 16 个 vCPU、64GB DRAM 并利用了 LSI Logic SAS SCSI 控制器。 虽然我们之前测试的 Sysbench 工作负载在存储 I/O 和容量方面使平台饱和,但 SQL 测试寻找延迟性能。
此测试使用在 Windows Server 2014 R2012 来宾虚拟机上运行的 SQL Server 2,并由戴尔的数据库基准工厂进行压力测试。 虽然我们对该基准的传统用法是在本地或共享存储上测试 3,000 规模的大型数据库,但在本次迭代中,我们专注于在我们的服务器上均匀分布四个 1,500 规模的数据库。
SQL Server 测试配置(每个虚拟机)
- Windows服务器2012 R2的
- 存储空间:分配 600GB,使用 500GB
- SQL Server的2014的
- 数据库大小:1,500 规模
- 虚拟客户端负载:15,000
- 内存缓冲区:48GB
- 测试时长:3 小时
- 2.5 小时预处理
- 30分钟采样期
MySQL Sysbench 配置(8 个虚拟机)
我们的 Percona MySQL OLTP 数据库通过 SysBench 测量事务性能。 该测试测量平均 TPS(每秒事务数)、平均延迟和平均 99% 延迟。
每个 Sysbench VM 配置了三个虚拟磁盘:一个用于启动 (~92GB),一个用于预构建数据库 (~447GB),第三个用于测试中的数据库 (270GB)。 从系统资源的角度来看,我们为每个虚拟机配置了 16 个 vCPU、60GB DRAM 并利用了 LSI Logic SAS SCSI 控制器。
Sysbench 测试配置(每个虚拟机)
- CentOS 6.3 64 位
- Percona XtraDB 5.5.30-rel30.1
- 数据库表:100
- 数据库大小:10,000,000
- 数据库线程:32
- 内存缓冲区:24GB
- 测试时长:3 小时
- 2 小时预处理 32 个线程
- 1 小时 32 个线程
SK 海力士 SATA 和 NVMe SSD 性能结果
为了表征 SK 海力士 PE6011 NVMe SSD 和 SE4011 SATA SSD 的性能,我们对它们执行了“四角”综合工作负载。 这将四个 NVMe SSD 的原始性能与八个 SATA SSD 的原始性能进行了比较,所有这些都直接针对总 I/O 图片进行了寻址,而 RAID 不影响性能。
我们的第一个工作负载使用 64K 顺序工作负载测量了每个驱动器组的峰值读取带宽。 在此工作负载中,我们测得 3.97 驱动器 SATA 组在 4 毫秒延迟时的峰值带宽为 10.76GB/s。 四驱动器 NVMe 组在 0.734 毫秒时测得的峰值带宽为 XNUMXGB/s。
接下来,我们查看了具有相同 64K 顺序工作负载的顺序写入带宽。 在此设置中,SATA SSD 组在峰值时测得 3.06GB/s,然后在过饱和点逐渐降低至 2.8GB/s,延迟为 2.8ms。 NVMe SSD 组虽然在 3.6 毫秒的延迟下扩展到 1.1GB/s。
将注意力转移到测量 4K 随机性能的峰值吞吐量测试上,我们首先查看读取工作负载。 在此设置中,八个 SATA SSD 组以 542 毫秒的延迟达到 1.9k IOPS 的峰值。 相比之下,四个 NVMe SSD 能够以 2.46 毫秒延迟的峰值吞吐量 0.205M IOPS 远远超过它们。
我们“四角”合成工作负载的最后一个组成部分测量了每个驱动器组的随机 4K 写入性能。 八个 SATA SSD 能够在 500ms 延迟时提供 1.99k IOPS 峰值,而四个 NVMe SSD 在 835ms 延迟时提供 0.572k IOPS。
在综合测试的最后阶段,我们研究了两个 VDI 用例,第一个是 VDI 完整克隆启动。 在此工作负载中,四个 PE6011 NVMe SSD 的峰值带宽为 384k IOPS 或 5.3GB/s,延迟为 0.33ms,而八个 SATA SE4011 SATA SSD 的峰值带宽为 202k IOPS 或 2.8GB/s,延迟为 1.2ms。
在测量 PE6011 NVMe SSD 的性能时,我们看到该组的峰值带宽在 186 毫秒时达到 3.5k IOPS 或 0.55GB/s。 八驱动器 SATA 组在 109 毫秒延迟时测得超过 2.1k IOPS 或 1.9GB/s。
通过查看每个驱动器组在我们的四角和 VDI 工作负载中的表现,我们发现 2:1 的 SATA 与 NVME 比率提供了读写性能的良好平衡。 与 SATA 同类产品相比,PE6011 SSD 能够以低延迟提供非常强大的读取吞吐量和带宽。 从写入吞吐量和带宽来看,SE4011 SSD 能够吸收的工作负载与 NVMe 同类产品相差不远,这对于在存储解决方案中组合不同类别的驱动器非常重要,因为数据需要足够快地在层之间移动,而不会减慢传入的工作负载.
我们的最后两个工作负载着眼于在 VMWare ESXi 6.7u3 虚拟化环境中跨多个 VM 运行的 Microsoft SQL Server TPC-C 和 MySQL Sysbench 性能。 这两项测试都旨在展示真实世界的性能,我们的 SQL Server 工作负载侧重于延迟,而我们的 MySQL 测试侧重于峰值事务性能。
在我们的 SQL Server 工作负载中,该项目包括测试 4 个 VM,每个都放置在一个 VMFS 5 数据存储中。 此工作负载利用了四个 SK hynix PE6011 NVMe SSD 和四个 SE4011 SATA SSD。 使用 Quest Benchmark Factory,每个 VM 都应用了 15k 虚拟用户,并测量了数据库的响应能力。
在四个 SK hynix PE6011 NVMe SSD 中,我们测得四个虚拟机的平均延迟为 2 毫秒。 将相同的工作负载转移到四个 SE4011 SATA SSD 时,延迟平均达到 16 毫秒。
在我们最终的数据库工作负载中,我们查看了 8 个虚拟机的性能。 对于 8 个虚拟机,我们在 4 个 NVMe SSD 中各放置两个,在 8 个 SATA SSD 中各放置一个。 在此工作负载中,我们测量每个 VM 的单独事务性能并将它们汇总在一起以获得总分。
在四个 SK 海力士 PE6011 NVMe SSD 中,我们测得总计 18,525TPS,平均延迟为 13.81 毫秒。 将该工作负载转移到八个 SK 海力士 SE4011 NVMe SSD,总计测得 13,032TPS,平均延迟为 19.64 毫秒。
SATA 与 NVMe SSD——决赛 思考
在考虑任何形式的存储时,了解所考虑系统的性能、成本和容量特征至关重要。 在这种情况下,我们正在研究 SK 海力士的多样化 SSD 产品组合,它能够满足几乎无穷无尽的用例供应。 由于 SK hynix 提供 SATA 和 NVMe SSD,因此可以通过多种方式利用这些驱动器。 虽然 NVMe SSD 显然速度很快,但它们的价格高于 SATA。 另一方面,SATA SSD 放弃了 NVMe 提供的速度,但更经济,并且仍然从闪存提供的所有 TCO 优势中受益于硬盘驱动器。 因此,大多数企业都可以从混合闪存方法中受益,将 NVMe 的性能与 SATA 的有利经济性相结合。
这个机会在软件定义存储和超融合市场中最为明显。 大多数 SDS 和 HCI 部署旨在利用不同类别的存储; StoreONE、Microsoft Azure Stack HCI 和 VMware vSAN 都是很好的例子。 在某些情况下,NVMe SSD 可以充当 SATA 驱动器前面的缓存或层,后者充当系统的容量。 在其他情况下,可以创建不同的池,在这种情况下,一个 NVMe 性能池和一个用于不太关键的应用程序工作负载的 SATA 池。
为了说明这两种类型固态硬盘的优势,我们在 Dell EMC PowerEdge R6011 中测试了一组 PE4011 NVMe 固态硬盘和 SE640 SATA 固态硬盘。 我们的主要发现表明,PE6011 NVMe SSD 能够在我们的合成和应用程序工作负载中提供强大的低延迟性能,提供超过 10.7GB/s 的读取带宽。 此外,我们的研究结果表明,SE4011 SATA SSD 补充了 NVMe SSD,为我们的所有工作负载提供稳定的容量层,这是数据可能位于任一存储池上的分层或缓存场景中的重要考虑因素。 SATA SE4011 组的写入性能非常好,八个驱动器的写入性能为 2.8GB/s,而四个 PE3.6 NVMe SSD 的写入性能为 6011GB/s。 当工作负载转移到缓存或分层之前,或者需要表现良好时,强大的写入性能使它们能够为均衡的存储解决方案提供一致的用户体验。
SK 海力士在过去一年半的时间里加倍努力开发企业级闪存,以多样化、垂直整合的产品组合迅速推向市场。 这一系列产品为客户提供了选择,以确保他们的部署按预期执行。 无论驱动器进入 SDS 解决方案、HCI 集群还是仅用作服务器存储,SK 海力士都准备好在这一旅程中为他们的客户提供支持。
参与 StorageReview
电子报 | YouTube | 播客 iTunes/Spotify | Instagram | Twitter | Facebook | RSS订阅
本报告由 SK 海力士赞助。 本报告中表达的所有观点和意见均基于我们对所考虑产品的公正看法。