我们在英特尔的合作伙伴最近 宣布 Optane 已上市,这是一种建立在英特尔和美光推出的持久性新存储技术 3D XPoint (3DXP) 之上的基于 NVMe 的 SSD 设备。
3DXP 的主要优势之一是它使应用程序能够决定应将数据集的哪一部分存储在快速内存(例如 DRAM)上,哪一部分应存储在较慢的内存(例如闪存/NAND)上。我们的 Redis Enterprise Flash (RF) 产品一开始就是基于相同方法构建的。
因此我们决定使用傲腾驱动器执行 RF 基准测试,并将结果与使用上一代英特尔 NVMe-SSD(P3700)运行的基准测试进行比较。我们知道使用傲腾获得更好的结果将具有挑战性,因为 RF 已在 P3700 上表现出色。
在开始了解我们的基准测试结果之前,我将首先简要介绍 Redis 和 Redis Enterprise Flash 的背景信息。Redis 以其极快的性能而闻名,主要因为它完全从 RAM 提供数据集。然而,近年来 RAM 价格一直保持平稳,即使部署只有数百 GB 的数据集也可能非常昂贵(更不用说为了高可用性而需要一个或多个副本的情况了)。
RF 通过将 Redis 的键、词典(键背后的主数据结构)和“hot”值(最易访问的值)存储在 RAM 中来解决这个问题,而 LRU 算法确定的“cold”值(数据集不太容易访问的部分)则保存在闪存(SSD 背后的技术)中。以这种方式分配数据可确保正在进行的操作几乎和 RAM 上的 Redis 一样快地执行。
该架构主要设计用于工作数据集小于总数据集(这是最常见的场景)的用例,因为它允许 RF 保持类似于 RAM 的性能,同时大幅降低服务器的基础架构成本。RF 与开源 Redis 完全兼容,并包含 Redis 命令和功能的完整集。闪存被视为 RAM 扩展器,不会取代 Redis 现有的数据持久性机制。牢记所有这些,我们来了解我们在 AWS 上进行的最新性能测试。
我们使用以下设置对 Redis(e) Flash 的性能进行了基准测试
下图分别显示了 50%、85% 和 95% RAM 命中率的 1000B 结果。
下表总结了英特尔傲腾 SSD 在所有测试中的平均改进因子,相比英特尔 P3700
1000B | |
50% RAM 命中率 | x9.2 |
85% RAM 命中率 | x9.7 |
95% RAM 命中率 | x2.8 |
全新英特尔傲腾固态硬盘相较于 P3700(尤其是对于大于 1000B 的项目)而言,是一次重大改进,使用我们的 RF 产品可提供九倍以上的吞吐量。
英特尔® 至强® CPU E5-2699 v4 @ 2.20GHz
2 个插槽,88 个硬件线程,44 个内核(22 个内核/插槽)
128GB 内存(8GB DDR4 DIMM,2133 MHz)
4 个英特尔® 傲腾
网络:10Gb 以太网
操作系统 - RHEL 7.0
memtier_benchmark 版本 1.2.6
Redis Enterprise 版本 4.5
Memtier 命令
./memtier_benchmark -s 192.168.22.14 -p 12320 –pipeline=20 -c 10 -t 20 -d 1000 –key-maximum=42949673 –key-pattern=G:G –key-stddev=1177484 –ratio=1:1 –distinct-client-seed –randomize –test-time=120 –run-count=1 –hide-histogram