← 全部对比

性能 · 架构 · 成本

Lavik vs Redis

实测吞吐量更高,容量突破 DRAM 成本约束。

比较 NVMe SSD 上的 Lavik 与 DRAM 中的 Redis 8.8.0:GET/SET 峰值吞吐量、尾延迟、Redis 兼容性与透明的 20:1 容量成本模型。

Lavik 项目团队 · 资料核对: 2026-10-13 · Redis 8.8.0 · DRAM

2026 年 9 月 18 日 · beta.1

让真实测量说明性能

1.04×Lavik / 对照 GET QPS
3.599 msLavik 在该 GET 点的 p99
4.671 ms对照在该 GET 点的 p99

10M 键 × 1 KiB 值;AMD EPYC 9V74,约 126 GiB RAM,六块 NVMe,16 个逻辑 CPU 亲和性,pipeline=1。每点测量一次,窗口 30 秒。对照数据来自相同主机较早的扫描;beta.1 SPDK 点为新测。每种操作分别选择各系统最高 QPS 点,连接数可能不同。 方法与完整报告 ↗

各操作峰值 QPS 及该点的延迟
操作系统QPSp99 (ms)p99.9 (ms)连接数
GETLavik 0.1.0-beta.1 SPDK1,012,1803.5995.631640
GETRedis 8.8.0 · DRAM976,8014.6718.0311280
SETLavik 0.1.0-beta.1 SPDK930,4654.7998.0951280
SETRedis 8.8.0 · DRAM910,4264.8318.1271280

读懂这个结果

这是开源 Redis 服务端的结果,并非 Redis Cloud 或 Redis Flex。测试关闭了 Redis AOF 和自动快照。1,000 万键数据集可放入服务器内存;它说明实测吞吐量,不代表 TB 级 Redis 容量结果。两者峰值对应的连接数也不同。

这是 Lavik 项目发布的基准,尚非第三方复测。单机短窗口结果不能证明相同崩溃持久性、长期稳定状态、集群容量或应用 SLA。使用下方成本模型前,请对照你的负载、数据分布与延迟预算。

查看完整连接数与线程扫描
成本计算器可选择的全部测量点
系统操作线程*连接QPSp99 (ms)
LavikGET1680390,4940.335
LavikGET16160609,1610.487
LavikGET16320803,0160.959
LavikGET166401,012,1803.599
LavikGET161280940,7139.791
LavikSET1680473,3840.591
LavikSET16160633,8491.071
LavikSET16320759,4881.671
LavikSET16640876,2663.567
LavikSET161280930,4654.799
RedisGET180153,0830.831
RedisGET1160157,9641.839
RedisGET1320157,9263.855
RedisGET1640155,6287.999
RedisGET11280135,52817.535
RedisSET180141,3860.903
RedisSET1160147,8281.943
RedisSET1320148,2804.095
RedisSET1640144,7578.575
RedisSET11280132,31818.047
RedisGET280159,7910.743
RedisGET2160156,2911.855
RedisGET2320159,5793.775
RedisGET2640158,7077.871
RedisGET21280135,88818.175
RedisSET280140,5560.903
RedisSET2160146,8522.063
RedisSET2320148,3844.095
RedisSET2640146,8688.511
RedisSET21280122,61019.711
RedisGET480345,0410.423
RedisGET4160415,2310.607
RedisGET4320418,7731.255
RedisGET4640436,2302.751
RedisGET41280434,7695.951
RedisSET480335,1860.423
RedisSET4160392,2580.631
RedisSET4320392,0541.399
RedisSET4640401,3693.071
RedisSET41280396,3966.751
RedisGET880440,0570.351
RedisGET8160590,5450.543
RedisGET8320702,4420.943
RedisGET8640807,6862.671
RedisGET81280835,7944.415
RedisSET880434,7910.359
RedisSET8160585,7970.543
RedisSET8320692,1070.959
RedisSET8640787,4302.863
RedisSET81280814,4104.671
RedisGET1680424,5820.335
RedisGET16160574,7020.559
RedisGET16320769,1300.975
RedisGET16640919,7993.471
RedisGET161280976,8014.671
RedisSET1680397,6370.359
RedisSET16160570,4740.535
RedisSET16320717,9000.983
RedisSET16640851,4603.071
RedisSET161280910,4264.831

*线程角色不同:Lavik 工作线程、Redis/Valkey I/O 线程、Dragonfly proactor、Garnet 最小线程池线程。 CSV ↗

存储设计如何影响你的应用

本次 Redis 对照组从 DRAM 提供数据。Lavik 将键索引保留在内存,将值存入 NVMe SSD。客户端仍使用 RESP 协议;改变的是存储与执行方式,而非应用协议。

不断增长的缓存可能在耗尽 CPU 之前就需要扩充内存。将值容量迁至 SSD,可以缓解压力并保留熟悉的命令。Lavik 的工作线程本地状态、协程运行时与异步存储路径,使请求在 I/O 完成期间仍可持续推进。

Lavik beta.1 系统架构 ↗ · Lavik beta.1 存储与恢复 ↗

熟悉的协议,面向 NVMe SSD 的执行路径

速度来自架构,而不是要求应用换一种协议。

Lavik 是 Apache 2.0 开源的 Redis 兼容键值存储。内存保存键索引,NVMe SSD 承载值数据。线程本地状态、协程与异步 I/O 让工作线程在等待存储时继续处理其他请求;SPDK 提供直接访问 NVMe 的存储路径。九月的 SPDK 测试仍使用内核 TCP,并未使用 DPDK 网络。

01Redis 客户端 / RESP
02工作线程与内存键索引
03异步 I/O
04NVMe SSD 值存储

存储引擎覆盖字符串、哈希、列表、集合与有序集合载荷;集合可使用分组存储。键索引、路由元数据和缓冲区仍消耗内存。字符串 GET/SET 基准并不证明其他数据结构具有相同 QPS。 beta.1 架构 ↗ · 存储与集合 ↗ · Apache 2.0 ↗

容量增长,不必按 DRAM 单价买单

假设模型 · 可调整输入

20× 更低的值容量成本,从单价算起

默认采用 DRAM 5 美元/GiB、NVMe SSD 0.25 美元/GiB 的假设价格,比例为 20:1。它们不是实时报价,也不是云主机月费。

20.0×

DRAM / SSD 值容量成本比

Redis DRAM: $5,120 · Lavik NVMe SSD: $256

Value-capacity cost = dataset GiB × media price/GiB

值容量模型不含键与索引内存、缓冲区、CPU、网络、备份、副本或运维。因此 20× 值容量成本差异并不等于整体服务便宜 20 倍。请在完整成本计算器中加入索引内存与共同成本。

加入索引内存与共同成本 →

何时选择 Lavik

当值数据增长推动 DRAM 账单上升时,优先评估 Lavik,尤其适用于访问分布广、无法依赖极小热点集的缓存与特征查询。请在 beta.1 上验证实际命令、脚本、过期行为和恢复要求。

何时保留现有方案

如果现有 Redis 容量成本可接受、运维能力满足需求,或必需的命令及模块行为尚未通过 Lavik 兼容性测试,可以继续使用。迁移收益应超过验证与切换的投入。

从测试到迁移

  1. 列出所用命令、数据类型、脚本与客户端选项,对照版本化兼容范围。 命令参考 · 客户端兼容性
  2. 在代表性 NVMe SSD 上回放实际数据分布、过期率和读写比例,比较目标 p99/p99.9,而非只看峰值 QPS。
  3. 验证复制、恢复和故障期间容量余量,再进行可回退的小流量切换。 迁移与集群指南

常见问题

Lavik 是否比 Redis 便宜 20 倍?

对于值容量,若 DRAM 每 GiB 单价为 SSD 的 20 倍,则介质成本降至 1/20。这是明确的价格假设,并非整个服务账单的实测结果;仍需计入索引内存、CPU、副本、备份和运维成本。

使用 Lavik 需要改用新协议吗?

不需要。Lavik 接受 Redis/Valkey 兼容命令,默认 RESP2,也可协商 RESP3。请根据 beta.1 的命令参考、客户端兼容性和迁移指南验证具体行为;协议兼容不等于所有命令、模块或故障切换行为完全相同。

如何把单机结果用于成本评估?

先选择匹配实际读写比例与延迟预算的实测点,再同时考虑数据容量和 QPS 所需节点数。把索引内存、复制、容量余量与故障场景纳入真实回放。页面成本模型是明确假设下的规划示例,不是多节点集群实测或云服务报价。

来源与版本

基准绑定上游提交;产品文档按标注日期核对。八月历史构建与九月 beta.1 结果保留各自范围,不跨实验拼接。

APACHE 2.0 · REDIS COMPATIBLE · NVMe SSD

用你的工作负载,验证容量与速度。