实测数据,而非空口声明。

每一项性能指标均有可复现的基准测试作为支撑。使用标准 Redis 基准测试工具在真实条件下测试——相同硬件、相同方法、可验证的结果。

FlashKey 与 Redis — 并列对比

使用 redis-benchmark 进行基准测试,50 个并行客户端,每个操作 100,000 次请求。相同硬件、相同配置、相同测试方法。

操作 FlashKey Redis 7.2 提升幅度
SET 187,402 ops/sec 148,810 ops/sec +25.9%
GET 198,807 ops/sec 154,321 ops/sec +28.8%
LPUSH 191,204 ops/sec 142,653 ops/sec +34.0%
LPOP 193,610 ops/sec 147,929 ops/sec +30.9%
Pipeline (20) 1,247,503 ops/sec 1,021,832 ops/sec +22.1%
< 0.3 毫秒
P99 延迟
即使在持续高负载下也能保持亚毫秒级响应时间
线性
核心扩展
吞吐量随可用 CPU 核心数成比例增长
COW 开销
MVCC 快照消除了基于 fork 的写时复制内存峰值
12x
在 16 核心时
线性
扩展性
0
单线程瓶颈
扩展状态
多核利用
线性吞吐量扩展
零锁竞争
扩展性

多线程为何至关重要

Redis 在单线程中处理命令。FlashKey 将工作负载分布到所有可用核心。每增加一个核心,性能差距就会进一步拉大。

  • 1 核心:与 Redis 性能相当
  • 4 核心:约 3.2 倍 Redis 吞吐量
  • 8 核心:约 6.5 倍 Redis 吞吐量
  • 16 核心:约 12 倍 Redis 吞吐量——接近线性扩展

直接对比

FlashKey 与 Redis 的逐项功能对比

FlashKey

  • 原生多线程,每核心独立事件循环
  • 内置 AES-256-CTR 静态数据加密
  • MVCC 快照——无需 fork(),无 COW
  • 主动复制与集成 sentinel
  • 使用 C11 编写——零运行时开销
  • 442 个命令,完全协议兼容

Redis

  • 单线程命令处理
  • 无原生加密——需要外部 TLS 代理
  • 基于 fork() 的持久化,伴随 COW 内存峰值
  • 需要外部 sentinel 进程
  • 使用 C99 编写,基于单线程设计假设
  • io-threads 仅限于 I/O,不执行命令

性能常见问题

这些基准测试是如何进行的?

使用 redis-benchmark 在 FlashKey 和 Redis 7.2 上以相同参数运行,相同硬件(裸金属服务器)、相同操作系统调优。所有测试均可复现——我们公开发布测试方法。

FlashKey 在如此高速下是否保持兼容性?

是的。FlashKey 通过了完整的 Redis 测试套件。性能提升源于架构改进(多线程、MVCC),而非协议上的妥协。

高负载下的延迟表现如何?

即使在 90% 以上的负载率下,FlashKey 仍然保持亚毫秒级的 P99 延迟。多线程消除了影响单线程架构的队头阻塞问题。

我可以复现这些基准测试吗?

当然可以。下载社区版,在相同硬件上对 FlashKey 和 Redis 同时运行 redis-benchmark。我们鼓励独立验证。

准备在您的基础设施上验证这些数据了吗?

与我们的工程团队预约一次基准测试。我们将在您的硬件上运行 FlashKey,并向您展示结果。