NVMe 基准测试说明了什么

理解实测结果、测试条件,以及仍待回答的问题。

9 月 6 日的报告使用可完全放入内存的数据集,对比历史 Lavik 构建与调优后的 Redis、Valkey。Lavik 测试提交为 29dc8e6b87c40196dc397759690252944f1196f0。该报告作为历史证据随 0.1.0 文档保留。

在已发布的 9 月 6 日实验中,Lavik 的 GET 吞吐量为每秒 828,502 次,调优后的内存 Redis 为 964,267 次;Lavik 达到 Redis 吞吐量的 85.9%。

在该实验中,Lavik 的 SET 吞吐量为每秒 984,452 次,调优后的内存 Redis 为 874,879 次;实测峰值高出 12.5%。

该对比使用 AMD EPYC 9V74 服务器、125 GiB 内存、六块裸 NVMe 盘、1,000 万个 1 KiB 值以及每个测量点 30 秒的测试窗口。Redis 关闭了持久化,Lavik 暂停了碎片整理。这些数据不能证明相同的崩溃持久性、生产成本或应用 SLA。

不只看一个数字

在各自选定的峰值点,报告中的 GET p99 延迟为 Lavik 4.543 ms、Redis 4.671 ms,而 Lavik 的 GET p99.99 更高。每个测量点仅运行一次;报告建议交错重复测试。该实验中相近的 p99 不能确立其他工作负载的 SLA。

同一报告还包含独立的十亿键存储分层实验,使用不同的数据集和测量窗口。应将这些结果与内存对比实验分别解读。