首页 企业版 英特尔 P5510 与三星 PM9A3 企业级固态硬盘对决

英特尔 P5510 与三星 PM9A3 企业级固态硬盘对决

by 布赖恩·比勒

英特尔推出了 请在5510月XNUMX日至XNUMX日来台北台湾参观我们的展位PXNUMX。 NVMe SSD于去年144月推出,第一款采用9层TLC NAND的企业级SSD上市。 从那时起,我们就在我们的实验室中广泛地看到了这些驱动器,它们由于极具竞争力的性价比而非常受欢迎。 几乎在同一时间,三星推出了他们的 PM3A1 SSD。 基于不太透明的 9xx 层 NAND,PM3A2 与英特尔一样,是一款旗舰级垂直集成 SSD 解决方案。 由于两家公司都广泛推出容量为 7.68TB 的流行 U.XNUMX 外形尺寸,我们着手让这些庞然大物正面交锋,看看谁在企业 SSD 大战中占据优势。

英特尔推出了 请在5510月XNUMX日至XNUMX日来台北台湾参观我们的展位PXNUMX。 NVMe SSD于去年144月推出,第一款采用9层TLC NAND的企业级SSD上市。 从那时起,我们就在我们的实验室中广泛地看到了这些驱动器,它们由于极具竞争力的性价比而非常受欢迎。 几乎在同一时间,三星推出了他们的 PM3A1 SSD。 基于不太透明的 9xx 层 NAND,PM3A2 与英特尔一样,是一款旗舰级垂直集成 SSD 解决方案。 由于两家公司都广泛推出容量为 7.68TB 的流行 U.XNUMX 外形尺寸,我们着手让这些庞然大物正面交锋,看看谁在企业 SSD 大战中占据优势。

Intel P5510组英特尔 P5510

比较 SSD 的问题在于供应商强调的规格并不总是反映真实场景。 例如,几乎所有规格表都是针对单个驱动器在非常良好的运行条件下完成的。

在这种情况下,我们看到高级统计数据,如 900,000 次随机读取 IOPS 和来自 PM6,500A9 的高达 3 MB/s 的顺序读取。 转向英特尔,P5510 声称 930,000 IOPS 和 7000MB/s 的带宽。 虽然浮华,但这些数字并没有给我们一个完整的画面。

三星PM9A3三星PM9A3

为了更深入地了解性能,我们所做的是从每个 SSD 中取出八个 SSD,并将它们放置在行业领先的服务器中以进行更深入的分析。 我们的测试重点集中在混合工作负载上,因为企业 SSD 很少只分块处理单个工作负载。 我们还评估了具有多个命名空间的嘈杂邻居场景,最后研究了驱动器在严重写入压力下的表现。

不过,在我们走得太远之前,让我们根据这些驱动器所在的位置来设置场景。 两者都以主流的 U.2 外形规格提供。 三星还提供 PM9A3 作为 E1.S、E1.L 和 U.3。 PM9A3 也采用 M.2 外形,但由于 M.2 外形具有低得多的功率包络,因此性能配置文件大大降低。 英特尔确实提供了短尺外形的 P4510,他们也以这种方式提供 P5510 是合理的。

容量方面,Intel 走的是主流的 3.84TB 和 7.68TB 容量。 三星采取了更广泛的方法,增加了 960GB、1.92TB 和 15.36TB 容量,但并非所有这些都适用于所有外形尺寸。

最后一个要考虑的主要因素是耐用性,P5510 和 PM9A3 都被评为每天写入一个驱动器,将它们置于已成为主流的混合工作负载类别中。 在保修方面,英特尔提供五年保修,而三星提供三年保修。 这实际上非常重要,因为这意味着英特尔具有更高的有效耐用性,因为他们在额外两年内交付了 1DWPD。

英特尔 P55120 与三星 PM9A3

英特尔 P5510 对比三星 PM9A3 性能

为了进行比较,我们选择了一个 戴尔PowerEdge R750,在此配置中支持八个 NVMe SSD。 两批 SSD 在同一台服务器上以相同的方式进行了测试。

高级规范包括:

  • 2 个英特尔可扩展 Gen3 8380
  • 32 个 32GB DDR4 3200MHz
  • Ubuntu 20.04.2 实时服务器(合成工作负载)
  • VMware ESXi 7.0u2(应用程序工作负载)
  • 8 个 PCI Gen4 U.2 NVMe 托架

基准测试使用 VDbench 和 FIO 进行综合基准测试,并使用 Percona Sysbench 和 Benchmark Factory 进行 SQL Server。

VD基准:每组 8 个 NVMe SSD 都经过安全擦除,然后使用 64K 写入操作写入整个磁盘表面,然后进行一小时的 64K 顺序预处理工作负载。 完成后,每个驱动器都会分配一个占磁盘表面 25% 的分区(2TB SSD 的分区为 8TB)。

然后我们关注一组常见的工作负载配置文件,包括随机读取和写入工作负载,以及常见的混合工作负载。 我们还使用了旨在复制 SQL、Oracle 和 VDI 工作负载的 I/O 模式。 在随机 I/O 模式开始之前,我们额外执行了 1 小时的 4K 随机写入活动。

工作负载配置文件

  • 4K随机读写
  • 4K随机70/30
  • 8K随机70/30
  • 16K随机70/30
  • 综合数据库:SQL 和 Oracle
  • VDI 完整克隆和链接克隆跟踪

从 4K 随机读取工作负载开始,我们测量了八块英特尔 P5510 SSD 的性能,范围从延迟 669 微秒时的 70K IOPS 到延迟 6.67 微秒时的 151M IOPS 峰值。 相比之下,三星 PM9A3 落后,因为它在开始时的 581 微秒时测得 75K IOPS,然后在 5.76 微秒时达到 173M IOPS 的峰值。

在随机写入 4K 工作负载中,三星 PM9A3 在写入性能方面具有优势,它在 404 微秒的延迟时测得 16K IOPS,并在 4.03 微秒时达到 239M IOPS 的峰值。 Intel P5510 开始时在 362 微秒时提供 18K IOPS,随着工作负载的增加,在 3.5 微秒延迟时扩展到 235 万 IOPS。

纯读取或写入工作负载通常不会显示 SSD 的全貌,而混合工作负载有助于在更真实的条件下显示更好的图像。 在这个具有 4% 读取混合的 70K 工作负载中,英特尔 P5510 的性能从开始时的 392K IOPS 以 57 微秒扩展,然后在 4 微秒时达到 116M IOPS 的最大值。 三星 PM9A3 以 393 微秒时的 60K IOPS 开始,并在 3.91 微秒时扩展到 129M IOPS。

使用相同的 8% 读取混合将块大小增加到 70K,英特尔 P5510 显示出与三星 PM9A3 相比更大的差异。 在这里,英特尔 P5510 在 247 微秒时测得 70K IOPS,在 2.57 微秒时扩展到 188 万 IOPS。 三星 PM9A3 在 215 微秒时以 68K IOPS 开始,并在 2.18 微秒时上升到 216M IOPS。

转向更大的 16K 随机 70% 读取工作负载,英特尔和三星驱动器之间的差距继续扩大。 Intel 在 142 微秒时以 87K IOPS 开始时出现了更高的延迟,然后在 1.49 微秒时上升到 312M IOPS。 相比之下,三星 PM9A3 在 115 微秒时以 76K IOPS 开始,然后在 1.17 微秒时达到 359 万 IOPS。

在我们的 SQL 合成工作负载中,我们再次转向混合数据配置文件。 Intel P5510 从 225K IOPS 79 微秒扩展到 2.30M IOPS 110 微秒。 三星 PM9A3 的范围从 230 微秒时的 80K IOPS 到 2.25 微秒时的 109M IOPS。

对于 80% 读取配置文件中的 SQL 工作负载,我们看到 Intel P5510 的范围从 214 微秒时的 69K IOPS 到峰值时 2.14 微秒时的 117 万 IOPS。 三星 PM9A3 在 207 微秒时以 71K IOPS 开始,并在 2.04 微秒时上升到 117M IOPS。

我们最后的 SQL 工作负载移动到 90% 的读取配置文件,写入活动较少。 在这里,Intel P5510 在 220 微秒时以 74K IOPS 开始,并在 2.27 微秒时扩展到 111M IOPS。 三星 PM9A3 从 226 微秒时的 76K IOPS 到 2.20 微秒时的 109 万 IOPS 不等,仅次于英特尔 SSD。

在 Oracle 综合工作负载中,英特尔 P5510 仍然保持对三星 PM9A3 的微弱领先。 在这里,我们看到 Intel P5510 在 210 微秒时以 69K IOPS 开始,在 2.08 微秒时达到 120M IOPS 的最高值。 相比之下,三星 PM9A3 的范围从 191 微秒时的 71K IOPS 到 1.91 微秒时的 121M IOPS。

在我们的 Oracle 合成数据库配置文件中有更重的写入混合和 80% 的读取混合,我们看到了两个 SSD 模型之间的另一个交叉。 Intel P5510 从 175 微秒时的 67K IOPS 扩展到 1.76 微秒时的 98M IOPS。 三星 PM9A3 在 179 微秒时以 70K IOPS 开始,在 1.76 微秒时上升到 96M IOPS。

我们最后一个 Oracle 综合数据库配置文件移动到 90% 的读取混合。 在这里,英特尔 P5510 在 180 微秒时以 72K IOPS 开始,并在 1.81 微秒时扩展到 96M IOPS。 紧追英特尔尾巴的三星 PM9A3 在 183 微秒时以 75K IOPS 开始,在 1.80 微秒时达到 95M IOPS 的最高值。

随着我们接近 Vdbench 工作负载的尾声,我们的最后六个配置文件围绕 VDI 配置文件展开,涵盖完整克隆和链接克隆场景的启动、初始登录和星期一登录。

在我们的完整克隆启动配置文件中,Intel P5510 从 169 微秒时的 85K IOPS 扩展到 1.72 微秒时的 147M IOPS。 三星 PM9A3 在 163 微秒时以 82K IOPS 开始,并在 1.62 微秒时上升到 143M IOPS。

我们的下一个完整克隆配置文件涵盖初始登录用例。 在这里,Intel P5510 从 90 微秒时的 50K IOPS 扩展到 900 微秒时的 176K IOPS。 相比之下,三星 PM9A3 在 88 微秒时以 47K IOPS 开始,在 879 微秒时达到 208K IOPS 的峰值。

 

我们最后一个完整克隆的 VDI 配置文件涵盖了周一登录场景。 在这里,英特尔 P5510 开始时的延迟高于三星,在 66 微秒时为 77K IOPS,在 677 微秒时达到 147K IOPS。 三星 PM9A3 的范围从 59 微秒时的 65K IOPS 到 597 微秒时的 161K IOPS。

切换到我们的链接克隆 VDI 配置文件,我们的第一个是 Boot。 三星 PM9A3 在此测试中具有明显的优势,它从 78 微秒的 102K IOPS 扩展到 757 微秒的 137K IOPS。 Intel P5510 的范围从 59 微秒时的 147K IOPS 到 584 微秒时的 181K IOPS。

在链接克隆 Initial Login 工作负载中,两个 SSD 之间的差距缩小了。 三星 PM9A3 在 36 微秒时以 74K IOPS 开始,在 362 微秒时达到 129K IOPS。 Intel P5510 以 36 微秒时的 87K IOPS 开始,并在 339 微秒时扩展到 139K IOPS。

我们最后一个 Vdbench 工作负载配置文件涵盖了链接克隆 VDI 星期一登录配置文件。 Intel P5510 在 50.4 微秒时以 91K IOPS 开始,在 506 微秒时达到 194K IOPS 的峰值。 三星 PM9A3 在 44.4 微秒时以 76K IOPS 开始,在 464 微秒时达到 208K IOPS。

FIO 写入压力测试

存储工作负载变得越来越复杂,因为 SSD 在高峰使用级别跟上并发读/写请求。 在并发写入压力下为 IO 提供服务的能力比在没有写入的情况下进行读取更有趣。 供应商可以将背景活动保持在足够低的水平,以显示“基准”,例如在卸载条件下的读取响应。 但这不是现实世界中 IO 的工作方式。

此工作负载还演示了 SSD 在其核心固件和 NAND 组件级别如何暂停或暂存写入并优先读取。 读取优先级可以推动某些应用产品的 SLA 要求。 因此,写入压力测试的动机是由测试并发 IO 以及 SSD 产品的弹性和 QoS 的需要驱动的。

在我们的写入压力测试中,我们在 Intel P5510 和 Samsung PM9A3 测试组的八个驱动器上运行了工作负载。 在测试闪存设备时,我们发现在许多情况下,单独的驱动器测试并不总能反映该驱动器在更活跃的系统中的响应方式。 为了显示性能是如何反映的,我们从每组中的两个驱动器中提取结果,在这种情况下对应于每个测试组中的驱动器 XNUMX 和 XNUMX。

在这种情况下,我们查看的第一个指标是 Intel P5510 和 Samsung PM9A3 之间的平均完成延迟比较,写入压力工作负载从 10MB/s 水平应用到 700MB/s。 两个英特尔 SSD 样本以 78 微秒的完成延迟 (CLAT) 开始,并在 211MB/s 的水平上增加到 700 微秒。 相比之下,三星 PM9A3 从 82 微秒开始,在 251MB/s 时上升到 700 微秒。 在 800MB/s 时,P5510 比 PM108A9 领先 3 微秒。

下一个焦点移至第 99 个百分位数的延迟,它更好地描绘了响应时间的上限。 我们看到英特尔 P5510 的响应时间稍长,在 388MB/s 时为 10 微秒,但在 9MB/s 时下降并低于三星 PM3A110,在请求的数据速率为 709MB/s 时持续高达 700 微秒。 三星 PM9A3 在 151MB/s 时从 10 微秒开始,在 930MB/s 请求时扩展到 700 微秒。 在 800MB/s 时,P5510 比 PM196A9 提高了 3 微秒。

 

FIO 嘈杂邻居测试

传统上,要查看 SSD 如何在不同的并发工作负载下运行,您需要同时向设备应用读取和写入工作负载。 这些工作负载还可以包括不同的块大小和其他元素。 NVMe SSD 带来了一个新概念,它们可以提供多租户命名空间配置,而不是常见的分区。

在多个租户都将其配置的命名空间用于不同工作负载的情况下,重要的是延迟不会增加到存储不再响应每个租户的程度。 在嘈杂的邻居测试中,我们将混合写入工作负载应用于六个已配置命名空间中的三个,并跟踪其余三个命名空间的读取延迟,以查看每个驱动器如何处理并发写入和读取活动。

将英特尔 P5510 与三星 PM9A3 进行比较,我们发现英特尔固态硬盘在从平均完成到 4 个 9 的延迟响应时间的延迟方面优于三星固态硬盘。 比较读取工作负载 NS4、NS5 和 NS6 工作负载的完成延迟,我们看到英特尔 P5510 的测量值分别为 132、141 和 162 微秒。 这与三星 PM9A3 形成鲜明对比,三星 PM136A145 在其各自的命名空间工作负载上测得的时间分别为 168、XNUMX 和 XNUMX 微秒。

 

上升到第 99 位,我们测量 Intel P5510 的 NS469、NS482 和 NS502 分别为 4、5 和 6 微秒,而三星 PM9A3 为 523、545 和 594 微秒。 在第 99.9,英特尔 P5510 的测量结果为 652、660 和 685 微秒,而三星 PM9A3 为 816、832 和 881 微秒。 在第 99.99 位,英特尔仍然以 816、832 和 848 微秒领先于三星 PM9A3 的 1020、1037 和 1090 微秒。

SQL Server 性能

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 测试寻找延迟性能。

SQL Server 测试配置(每个虚拟机)

  • Windows服务器2012 R2的
  • 存储空间:分配 600GB,使用 500GB
  • SQL Server的2014的
  • 数据库大小:1,500 规模
  • 虚拟客户端负载:15,000
  • 内存缓冲区:48GB
  • 测试时长:3 小时
    • 2.5 小时预处理
    • 30分钟采样期

当关注 8VM 负载(每个 SSD 1 个 VM)的 SQL Server TPC-C 工作负载的平均读取延迟时,英特尔 P5510 和三星 PM9A3 都以 1.0 毫秒的响应时间最大化了工作负载。

Sysbench MySQL 性能

我们的 Sysbench 测试利用 Percona 将 I/O 驱动到 MySQL OLTP 数据库。 该测试测量平均 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 个线程

在 16VM 负载(每个 SSD 2 个 VM)的情况下,我们从八个 Intel P38,838 SSD 组测得 5510 TPS,而三星 PM9A3 组测得 38,717 TPS。 此工作负载还使测试平台上的 CPU 饱和。 将负载降低到 8 个虚拟机或每个 SSD 1 个,英特尔 P5510 组测得 30,337 TPS,而三星 PM9A3 组测得 29,438 TPS。

比较每组 8 个 NVMe SSD 的平均延迟,我们测得 Intel P5510 16VM 工作负载为 13.18ms,8VM 工作负载为 8.44ms。 三星 PM9A3 组在 13.23 个虚拟机时测得 16 毫秒,在 8.69 个虚拟机时测得 8 毫秒。

在我们关注 Sysbench 中第 99 个百分位延迟的最终工作负载中,我们测量了运行 5510 个虚拟机的 25.35 毫秒的英特尔 P16 SSD 组和 14.50 个虚拟机工作负载的 8 毫秒。 这与三星 PM9A3 SSD 在 26.21 个 VM 时为 16ms,在 14.74 个 VM 时为 8ms 形成对比。

 

结语

这个练习很有趣。 我们开始的前提是单个企业 SSD 的规格表不是很有帮助。 他们通常专注于针对非常小的特定工作负载的高端性能。 但是在企业中,在 运行两个驱动器的刀片,系统利用许多 SSD,虽然带宽很重要,但延迟才是王道。 当我们完成这个冗长且有时极其密集的测试计划时,延迟的影响变得显而易见。 实际上,这可能是主机系统可以支持多少个 VM 或应用程序对最终用户的响应速度的差异。

从整体的实际性能来看,英特尔 P5510 和三星 PM9A3 描绘了一幅有趣的画面。 在综合基准测试中,英特尔 P5510 在大多数专注于混合数据配置文件的工作负载中具有优势,随着工作负载更加基于写入,差距越来越大。 它在块大小方面也有优势,我们看到它的领先优势从 4K 到 8K 再到 16K 传输大小。

虽然关注原始性能是一回事,但延迟是另一回事。 这是我们在写入压力测试下查看延迟的地方。 在这里,英特尔 P5510 在延迟方面显示出优势,因为应用的写入工作负载以 10MB/s 的增量增加到 850MB/s。 在 800MB/s 的测试上限,英特尔 P5510 在完成延迟方面比三星 PM108A9 领先 3 微秒,在第 196.5 个百分位延迟方面领先 99 微秒。

我们的最后一个测试测量了 SSD 在嘈杂的邻居工作负载下的性能,三个命名空间在写入工作负载下,三个命名空间在读取工作负载下。 P5510 继续保持较低的读取延迟,随着您查看延迟响应能力的四个 9,差距越来越大。

转向我们跨 8 个 Intel P5510 和 Samsung PM9A3 SSD 组的应用程序工作负载,这两个驱动器都能够使我们的 SQL Server 测试达到饱和,总响应时间降至 1 毫秒。 不过在 Sysbench 中,当 CPU 得到充分利用时,P5510 在 9VM 和 3VM 工作负载方面均优于 PM8A16。

总的来说,这是两个驱动器之间的战斗。 当您只看规格表编号时,这些驱动器非常相似。 但在此测试中,英特尔驱动器在最苛刻的情况下始终显示出更好的延迟。 加上额外的两年保修,P5510 提供了一个非常有吸引力的包装。

英特尔 P5510 产品页面

三星 PM9A3 白皮书

本报告由英特尔公司赞助。 本报告中表达的所有观点和意见均基于我们对所考虑产品的公正看法。

参与 StorageReview

电子报 | YouTube | 播客 iTunes/Spotify | Instagram | Twitter | Facebook | RSS订阅