【发布时间】:2020-05-21 16:10:54
【问题描述】:
我们将多个 RocksDB 实例打开到一个进程中,并且它们都被平等地访问。使用BlockBasedTableOptions::block_cache 时,将一个大缓存分配给几个较小的缓存有什么好处?
对于NewLRUCache,num_shard_bits 似乎允许单个大型共享缓存来减少资源争用,就像拥有多个较小的缓存,每个缓存都没有分片一样。从外面看,他们看起来是平等的。
编辑
我认为最好让某人关闭/删除。这个问题没有编程答案。我试图从概念上理解rocksdb是如何工作的。这是 Rocksdb Google Group 的问题,而不是 SO。
【问题讨论】:
-
当您对此(不同的选项)进行测试/基准测试时,这告诉了您什么?
-
@JesperJuhl 我正在寻找超越周期计数和内存使用情况的洞察力,以了解为什么在所有数据库实例的使用情况相同时会选择共享缓存还是单独缓存。