dot 未来速度将在您所在城市的活动中呈现。

加入 Redis Released,与我们一起

英特尔傲腾上的 Redis Enterprise Flash

概述

我们在英特尔的合作伙伴最近 宣布 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 的性能进行了基准测试

  1. 1000B 值(项目)大小,涵盖大多数标准 Redis 用例
  2. 50%、85% 和 95% RAM 命中率(即直接从 RAM 提供的请求数量)
  3. 对于每种配置,我们都测试了在保持亚毫秒服务器延迟(不包括网络)的情况下可以实现多少次/秒的操作

基准测试结果

下图分别显示了 50%、85% 和 95% RAM 命中率的 1000B 结果。

性能提升

下表总结了英特尔傲腾 SSD 在所有测试中的平均改进因子,相比英特尔 P3700

  1000B
50% RAM 命中率 x9.2
85% RAM 命中率 x9.7
95% RAM 命中率 x2.8

95% RAM 命中时,Web UI 的吞吐量

摘要

全新英特尔傲腾固态硬盘相较于 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