【问题标题】:Aerospike : (Flash/SSD device + data-in-memory:true)Aerospike :(闪存/SSD 设备 + 内存中的数据:true)
【发布时间】:2025-12-27 09:30:16
【问题描述】:

我正在为我的一个项目探索 Aerospike。已将设备配置为我的存储引擎 (ssd ("~250GB"))。 RAM 集群中每个盒子是“~50GB”。

我的问题:设置“data-in-memory true”会显着提升集群性能吗?我首先尝试通过设置“data-in-memory true”而不是“data-in-memory false”来对 Aerospike 集群的写入进行基准测试。性能没有显着提升/下降。将“内存中的数据真实”放在这里(与 SSD 一起)真的有意义吗?请提出建议。

【问题讨论】:

    标签: aerospike


    【解决方案1】:

    你是对的,对写入的影响不会很明显,事实上,它可能会完全一样。 data-in-memory true 将通过使用内存而不是存储来提高读取性能。最后,您还可以检查 post-write-queue 设置,以便在读取最近插入/更新的记录时获得内存性能。

    【讨论】:

    • 谢谢。稍微改一下,在 SSD 设置中通过“内存中的数据为真”可以获得什么优势。 (考虑到数据量 > 1TB,内存将是一种非常昂贵的方法)。
    • "data-in-memory true 将通过让那些从内存而不是从存储中提供服务来提高读取性能"。这是将数据保存在内存中的唯一优势吗? (我很愿意在我的读取 VS 消耗 1TB 冗余 RAM 的几毫秒内做出妥协)。
    • 取决于您的读写工作负载。你应该对你的工作负载(读写)进行基准测试,看看你是否真的需要data-in-memory true。根据您的评论,尤其是 2ms 的妥协,听起来 SSD 配置应该没问题(假设 SSD 可以接受)。请务必检查post-write-queue 配置。如果您在写入后立即阅读,这将为您提供所有这些读取的内存读取性能。