设计工具
公司

美光 7450、三星 PM9A3 和 Solidigm D5-P5430 比较

Sayali Shirode | 2023 年 7 月

RocksDB 是一个以存储为重点的键值数据库,是 Meta 许多业务的支柱。以下是来自 RocksDB.org 的相关介绍:

“RocksDB 基于 LevelDB 构建,可扩展到在具有多个 CPU 内核的服务器上运行,以高效使用快速存储,支持 IO 密集型、内存中和一次写入工作负载,以实现灵活创新。”

Meta 更倾向于将 DB bench 用作 RocksDB 的工作负载生成工具,因其可以解决键空间局部性问题,并模拟真实世界中键值存储的工作负载。该基准测试可以综合生成更为精准的键值查询,这些查询代表了键值存储对底层存储系统的读写。

我们使用以下数据中心级 NVMe SSD 测试了存储 1TB 数据库的单个设备的存储性能:

美光 7450 SSD:我们的主流性能型硬盘,采用 176 层 TLC(三层单元)NAND,旨在为我们的云合作伙伴提供出色的 QoS 和 PCIe 4.0 性能。

三星 PM9A3:一款读取密集型、TLC NAND、PCIe 4.0、NVMe 固态硬盘。

Solidigm D5-P5430:一款主流的 QLC(四层单元)、PCIe 4.0、NVMe 固态硬盘,由 Solidigm 推出,是与三星 9A3 和美光 7450 存在竞争关系的同类硬盘。

测试配置

这篇博客文章主要讨论 3 种工作负载:

  • 边读边写:此工作负载使用多线程读取和单线程写入。
  • 随机读写:混合工作负载,多线程执行随机读和随机写操作。
  • 随机读取:此工作负载从现有数据库随机读取。

服务器

Supermicro AS-1115CS-TNR

CPU

AMD EPYC 9654 96 核处理器

内存

768GB 美光 DDR5 (12 个 64GB DDR5、1DPC),内核不超过 256GB

文件系统

xfs

Linux 操作系统

Ubuntu 20.04

内核版本

5.15.0-67-generic

RocksDB 版本

8.1.1

DB bench 版本

8.1.1

 

性能结果

图 1 至图 3 展示了 3 种工作负载的 99% 读取延迟(毫秒数,x 轴)和数据库每秒操作数(y 轴)。每个数据点表示在某一 DB bench 线程数(8、16、32、64、96)下运行 20 分钟的平均值。

边读边写使用 1 个写入线程,并随着 DB bench 线程数增多,增加读取次数。对于每个线程数,美光 7450 和三星 9A3 表现相近,7450 在 96 个线程时扩展性更好。

相较于另外两款固态硬盘,Solidigm D5-P5430 的 99% 读取延迟高出两倍多,但其最高 ops/s 仅为它们的 65%。

rocksDB DB bench:边读边写 DB Ops/s 与 99% 读取延迟对比图

在随机读写工作负载中,三星 9A3 在线程数较少时略胜一筹,而 7450 则在线程数较多时占据优势。这两款硬盘的性能相似。

Solidigm D5-P5430 的读取延迟是这两者的 1.5 倍,而且性能(ops/s)低 30%。

rockDB DB bench:随机读取 DB Ops/s 与 99% 读取延迟对比图

最后,随机读取基准测试再次显示 7450 与 9A3 在性能和延迟方面都很接近,其中 7450 在线程为 96 个时性能更高,而 PM9A3 则在线程数较少时则略胜一筹。

Solidigm D5-P5430 的读取延迟高达这两者的 1.8 倍,而且性能低 30%。

rockDB DB bench:随机读取 DB ops/s 与 99% 读取延迟对比图

图 4 中的带宽测量数据基于 3 种工作负载在线程数为 96 个时的表现得出。对于所有三种工作负载,美光 7450 的带宽都略高于三星 9A3,而 Solidigm 5430 的带宽相对较低。

96 线程时固态硬盘吞吐量(mb/s)图

总而言之,我们的分析表明,美光 7450 和三星 9A3 在性能上旗鼓相当,美光 7450 在线程数较高时优势稍显,而三星 9A3 在线程数较低时略胜一筹。在所有工作负载和线程数下,Solidigm D5-P5430 的性能始终垫底,表明它是本次对比研究中性能相对逊色的硬盘。

Storage Solutions Engineer

Sayali Shirode

Sayali received an M.S. in electrical and computer engineering from Colorado State University in 2015. She's currently a Storage Performance Engineer at Micron's Austin location and has previously worked as Firmware Test Engineer at Micron's Colorado location. She focuses on analyzing the performance of data center applications.