RocksDB随机读性能是同门SSD近10倍!傲腾持久内存实力炸裂_Redis





数据智能产业创新服务媒体

——聚焦数智 · 改变商业




众所周知,英特尔® 傲腾™ 持久内存(以下简称PMem)是一款近年来少见的,在性能、容量和数据持久性上都让人眼前一亮的创新产品,而英特尔每每提及它时,都会用 “颠覆传统内存和存储架构”来形容它的价值。

RocksDB随机读性能是同门SSD近10倍!傲腾持久内存实力炸裂_Redis_02

不过,“眼见为实”才会有足够的说服力。专注于企业级设备开箱和测试的媒体“无情开评”这次就通过加压实测的方式,对 PMem 的性能和特性进行了全方位的测试以及解读,让我们来一起看看它的实战表现有何过人之处。


基础性能测试
颠覆传统!低时延与高性能的新突破




既然要探究 PMem 的真实性能,那么不妨从基础测试做起。

8根 DRAM+8 根 PMem 的配置 vs. 8 根 DRAM+1 根 PMem 的配置, 通过多轮脚本轰炸,来观察不同配置下其随机读、随机写与随机混合读写的能力。

RocksDB随机读性能是同门SSD近10倍!傲腾持久内存实力炸裂_固态盘_03

上图 8+1 和 8+8 的测试结果数据对比可以说是一目了然,8+8 组合的性能表现是 8+1 组合的8倍,说明多根 PMem 组合性能线性增长,不存在额外性能浪费。

同时,PMem 主要延时落在 170-320 纳秒的区间里,与 DRAM 内存相近,但与传统 NVMe 固态硬盘微秒级的时延相比,领先达千倍数量级!这在多数IT产品升级换代只会带来两位数(XX%)性能增长、有新品实现性能翻倍都会让大家集体围观的时代,可真是一枝独秀。

在企业级的真实应用中,我们选择了 Redis 和 RocksDB 这两个典型用例进行加压测试。

Redis 测试
“小钱”办大事!实力不输 DRAM



利用 Redis 来提升服务响应速度是目前越来越多企业的选择。通过 DRAM 缓存数据固然能降低时延,但性价比的问题依然困扰企业。PMem 的出现可谓希望之光。

下面我们来对比一下两者在 Redis下的性能表现。

RocksDB随机读性能是同门SSD近10倍!傲腾持久内存实力炸裂_固态盘_04

可以看到,在一项一亿两千万个数据请求测试中,与 DRAM 相比,KEME DAX 模式下的 PMem:

·在读取性能上,相当于 DRAM 的96%;

·写入性能上,相当于 DRAM 的90%;

·访问时延与 DRAM 内存接近,即使大部分数据都存在 PMem 中,也可以达到 DRAM 性能的95%。

RocksDB随机读性能是同门SSD近10倍!傲腾持久内存实力炸裂_Redis_05

更重要的是容量大,价格低!

所以少量配备了 DRAM + PMem 的服务器节点,完全有望在性能和容量上取代大量只配备有 DRAM 的服务器节点,从而显著降低采购、部署和维护成本。

RocksDB 测试
读写实力碾压 NVme




作为近年来的明星数据库引擎,RocksDB 在快速存储和高并发服务压力下性能表现优越。

那么 PMem 在 RocksDB 场景里又有哪些靓眼的表现呢?

RocksDB随机读性能是同门SSD近10倍!傲腾持久内存实力炸裂_数据_06

RocksDB随机读性能是同门SSD近10倍!傲腾持久内存实力炸裂_Redis_07

RocksDB随机读性能是同门SSD近10倍!傲腾持久内存实力炸裂_Redis_08

RocksDB随机读性能是同门SSD近10倍!傲腾持久内存实力炸裂_固态盘_09

实测表明,PMem

随机写性能接近于 NVMe 固态盘的2倍;

随机读性能接近于 NVMe 固态盘的10倍。

按场景灵活配置 PMem
知人善用!三张“王牌”各显神通




熟悉 PMem 的同学都知道它有三种应用模式,那么到底应该在什么样的应用场景里选择什么样的模式,才能更大限度发挥它的潜能呢?

答案就在下表中,请课代表划重点:

RocksDB随机读性能是同门SSD近10倍!傲腾持久内存实力炸裂_Redis_10

至于这些模式的配置,可谓简单易行,具体操作如下(都是来自英特尔专家的官方分享哟):

内存模式:

1.使用 ipmctl 命令

“ipmctl create -f -goal memorymode=100”

2.重启

RocksDB随机读性能是同门SSD近10倍!傲腾持久内存实力炸裂_固态盘_11

AD 模式:

1.使用 ipmctl 命令

ipmctl create -f -goal persistentmemorytype=appdirect

2.重启;

3.文件系统创建和挂载

ndctl create-namespace

mkfs.ext4 /dev/pmem0

mount -o dax /dev/pmem0 /mnt/pmem0

RocksDB随机读性能是同门SSD近10倍!傲腾持久内存实力炸裂_数据_12

KMEM DAX 模式配置

1.设置为 AD 模式并重启生效

2.把 DEVDAX 放进去,namespace 创建成为 DEVDAX 设备

3.创建 PMem 成为新 NUMA 内存节点

RocksDB随机读性能是同门SSD近10倍!傲腾持久内存实力炸裂_数据_13

写在最后
真金不怕火炼




有了这样详尽的测试和配置指南,你应该更了解如何用好 PMem 这位新伙伴了吧?正如无情开评最后点评:它既拥有与 DRAM 内存相近的读写性能和访问时延,比固态盘更耐用,又具备固态盘的数据持久性。在高并发的场景中,也有着不亚于 DRAM 内存性能的卓越表现,可以凭借大容量的优势,更轻松驾驭 TB 级的内存数据库战场。由于它与 CPU 的连接和协作更快,能提高 CPU 的利用率,在私有云虚拟化方面也将有很大潜能。

法律声明:本片全部数据均来自媒体测试。英特尔并不控制或审计第三方数据。请您审查该内容,咨询其他来源,并确认提及数据是否准确。描述的成本降低情景均旨在在特定情况和配置中举例说明特定英特尔产品如何影响未来成本并提供成本节约。情况均不同。英特尔不保证任何成本或成本降低。英特尔、英特尔标识、以及其他英特尔商标是英特尔公司或其子公司在美国和/或其他国家的商标。©英特尔公司版权所有。* 文中涉及其它名称及商标属于各自所有者资产