首页 企业 英特尔傲腾 DC 持久内存 NoSQL 性能评估

英特尔傲腾 DC 持久内存 NoSQL 性能评估

by 布赖恩·比勒

今年早些时候我们发布了 英特尔傲腾 DC 持久内存 我们审查的数据 美超微 SuperServer 1029U-TN10RT 平台。 超微 是首批支持英特尔持久内存的产品之一,双处理器 2U 系统作为持久内存测试平台表现出色。 查看传统块存储方式中的 Optane DC 持久内存速度具有指导意义,但持久内存的真正价值体现在可以在本地利用这种新介质的应用程序,智能地将数据放入 DRAM、持久内存或板载存储作为应用需求。 为了更好地了解 Optane DC 持久内存的性能概况,我们使用领先的 NoSQL 平台 Aerospike 让 Supermicro 服务器运行。


今年早些时候我们发布了 英特尔傲腾 DC 持久内存 我们审查的数据 美超微 SuperServer 1029U-TN10RT 平台。 超微 是首批支持英特尔持久内存的产品之一,双处理器 2U 系统作为持久内存测试平台表现出色。 查看传统块存储方式中的 Optane DC 持久内存速度具有指导意义,但持久内存的真正价值体现在可以在本地利用这种新介质的应用程序,智能地将数据放入 DRAM、持久内存或板载存储作为应用需求。 为了更好地了解 Optane DC 持久内存的性能概况,我们使用领先的 NoSQL 平台 Aerospike 让 Supermicro 服务器运行。

英特尔傲腾 DC 持久内存
Supermicro 服务器中的 Intel Optane DC 持久内存模块

什么是 Aerospike?

Aerospike 为涉及操作数据的要求苛刻的读/写工作负载提供分布式、高度可扩展的非关系数据库管理系统。 它旨在提供极快且可预测的响应时间,以访问跨越 10 至 100 TB 数据库中数十亿条记录的数据集。 Aerospike 为各种战略应用程序提供支持,包括欺诈预防、数字支付、推荐引擎、实时投标等。 Aerospike 的客户包括 Adob​​e、Airtel、FlipKart、Kayak、Nielsen、PayPal 和 Wayfair 等知名企业。

根据用例和数据集,Aerospike 可以部署在各种配置中,为用例优化系统资源。 Aerospike 可以用内存中的数据启动,也可以在内存中索引数据在 SSD 上,或者在 SSD 上索引和数据在 SSD 上。 最近,Aerospike 发布了一种新配置,它在 AppDirect 模式下利用了英特尔的 Optane DC 持久内存。 索引与 SSD 上的数据一起存储在 PMEM 中。 这种新模式扩展了 Aerospike 的容量,同时保持非常接近内存索引和 SSD 数据的性能。 这种新模式不仅提供亚毫秒级延迟,而且无需重建主索引即可快速完全重启 Aerospike。

通过在不同的 Aerospike 配置中应用不同类型的工作负载,可以评估在 SuperMicro SuperServer 上使用英特尔傲腾 DC 持久内存的优势和性能。 针对 SSD 配置上的内存/数据中的索引和 SSD 上的 PMEM/数据中的索引运行和比较基准测试提供的信息可以在持久内存与 DRAM 的使用上做出明智的选择。 还有一种额外的配置可以为持久内存提供额外的性能洞察力。 虽然 PMEM 中的索引和 PMEM 中的数据功能尚未发布,但有一种方法可以将服务器上的 PMEM 配置为使用 PMEM 中的索引运行,并运行配置为块设备的 PMEM 的一部分,让您了解PMEM 中的索引和 PMEM 中的数据的性能可能性。

Aerospike NoSQL 配置

三种不同的工作负载应用于三种不同的配置中的每一种。 Aerospike Java 基准测试从 50 个客户端服务器生成了 50/4 读/写工作负载、只读工作负载和只写工作负载。 每个测试由多个阶段组成:

  • 摄取阶段——将数据加载到数据库中。
  • 预热阶段 – 运行两个小时的写入负载以创建数据库的稳定状态。
  • 测试阶段 – 运行一个小时的测试实际工作负载。

在运行任何测试之前,为数据选择了适当的键集和对象大小。 尽管 Aerospike 的对象大小范围很广,从几个字节到一百万字节不等,但选择密钥集和对象大小来测试服务器硬件并演示 PMEM 配置的性能。 较大的对象大小可能会造成网络瓶颈,并且无法充分展示 Optane DC 持久内存的强大功能。 因此,所有测试都使用了 440 字节的对象大小。

键集大小受用于内存/SSD 配置中的索引的内存量的限制。 内存配置中的索引仅限于 4 亿个对象的数据集。 尽管 PMEM 中的索引可以处理 15.5 亿个键的容量,但为了更好地与内存测试中的索引进行比较,仅使用了 4 亿个键。 最后一组测试在 PMEM 中运行索引,在 PMEM 中运行数据。 因为服务器总共有 1.5TB 的 PMEM,所以这些测试只使用了十亿个密钥。

硬件配置

硬件配置包括两个关键组件。 单个数据库服务器装有 Intel Optane PC 持久内存。 四个客户端服务器生成针对数据库服务器的负载。

数据库服务器

  • 机箱 – SuperMicro Ultra 1U SYS-1029U-TN10RT
  • 中央处理器
    • 2 个英特尔至强可扩展 8268(2.9GHz,24C)
    • 2 个英特尔至强可扩展 8280(2.7GHz,28C)
  • 存储 – 10 x Intel DC P4510 2TB NVMe SSD, 1DWPD
  • 内存 – 12 x 32GB DDR4-2933
  • 持久内存 – 12 个 128GB DDR4-2666 Intel Optane DC PMM
  • 网络 – 100 GbE
  • 操作系统——Fedora 29  

客户端服务器

  • 机箱 – 戴尔 R740xd
  • CPU – 2 个英特尔至强可扩展 6130
  • 内存 – 256GB
  • 网络 – 2 x 25 GbE
  • 操作系统 – Ubuntu – 18.04
  • 软件 – Aerospike Enterprise 4.5.1
  • 负载生成器 – Aerospike Java 基准测试(Aerospike Java 客户端 4.4.0)

Aerospike 性能结果

如前所述,我们在各种工作负载配置以及索引和数据库的位置上运行了测试。 此外,我们使用了两组不同的 第二代英特尔至强可扩展 CPU. 我们在数据库服务器中同时运行了 8268 和 8280,8280 CPU 是支持 Optane DC 持久内存的最高 bin Intel CPU。 在原始时钟速度方面,8280 比 12 高出 8268Ghz,即性能提高了 8.6%。 虽然不在下表中,但应该注意的是,就服务质量而言,所有测试的延迟结果在服务器上都达到或接近 100% 亚毫秒。

内存中的索引,NVMe SSD 上的数据

活动 吞吐量操作
英特尔8268
吞吐量操作
英特尔8280
读/写 50/50 2,100,000 2,298,000
阅读 100% 2,240,000 2,720,000
写 100% 1,760,000 2,020,000

虽然我们知道 8280 的原始时钟速度比 8.6 提高了 8268%,但核心目标是了解这如何转化为应用程序改进。 使用 Aerospike,索引位于内存中,数据位于 NVMe SSD 上,我们看到了以下行项目更改。 混合读/写 50/50 性能提升 9.4%,100% 读取性能提升 21.4%,100% 写入性能提升 14.8%。 

Optane DC Persistent Memory 中的索引,NVMe SSD 上的数据

活动 吞吐量操作
英特尔8268
吞吐量操作
英特尔8280
读/写 50/50 2,000,000 2,252,000
阅读 100% 2,200,000 2,630,000
写 100% 1,740,000 1,980,000

正如我们在该数据中所见,将索引从 DRAM 移至持久内存对事务性能几乎没有影响。 不过在生产中,这意味着因为 Aerospike 可以使用持久内存而不是 DRAM 来创建索引,所以在数据库节点重启后恢复速度要快得多,因为大量的 DRAM 不需要转到 SSD 进行重建。 高密度机箱还可以节省成本,因为接受测试的 128GB Optane DC 持久内存模块比 128GB DIMM 便宜得多。 

Optane DC 持久内存的索引和数据

活动 吞吐量操作
英特尔8268
吞吐量操作
英特尔8280
读/写 50/50 2,600,000 2,866,000
阅读 100% 2,810,000 3,100,000
写 100% 2,120,000 2,210,000

如前所述,Aerospike 已宣布但尚未提供在英特尔傲腾 DC 持久内存上运行索引和数据库的能力的普遍可用性。 也就是说,我们确实演示了允许它的当前代码构建,它显示在混合工作负载中大约每秒增加 33% 或 600,000 次操作。 

总结

英特尔傲腾数据中心级持久内存是数据层次结构中非常强大的部分。 介于 RAM 和存储之间,英特尔的持久内存化身最终带来了技术主流。 但仅仅能够使用新的存储技术还不够好,能够在本地利用持久内存的应用程序将具有巨大的竞争优势。 我们在 Aerospike 上看到的灵活性表明他们已经准备好为 Optane DC 持久内存提供应用程序直接模式支持(块存储)。 此外,在将索引和数据保存在持久内存模块上方面,他们是 NoSQL 领域的领导者。 虽然后者仍然是一个新兴的愿景,但早期的结果看起来非常有希望。

讨论这篇评论

注册 StorageReview 时事通讯