【问题标题】:RocksDB tuning parameters for write-only usage to reduce memoryRocksDB 为只写使用调整参数以减少内存
【发布时间】:2021-09-28 15:55:36
【问题描述】:

我在一个进程中使用 RocksDB 仅用于持久化数据。我不需要读书。不幸的是,内存使用量正在飙升,我想使用这些选项来阻止它。

我目前正在使用这些选项:

rocksdb::Options options;
options.compression = rocksdb::CompressionType::kZSTD;
options.create_if_missing = true;
options.create_missing_column_families = true;
options.write_buffer_size = 512000;

我的理解是最后一个参数应该停止内存增长,因为我在刷新缓冲区之前减小了缓冲区的大小。但是,内存仍在增长。

我可以使用任何其他参数来减少只写使用的内存吗?

【问题讨论】:

    标签: rocksdb


    【解决方案1】:

    如果只有写,你也可以禁用块缓存: https://github.com/facebook/rocksdb/blob/fd2079938d784babcea908c6c82aeb8b3afa42af/include/rocksdb/table.h#L232-L235

    内存增长也可能是因为列族的数量、SSTables 的数量。如果可能的话,你也可以自己写SST,然后摄取到rocksdb,这样可以减少写路径上的所有开销:http://rocksdb.org/blog/2017/02/17/bulkoad-ingest-sst-file.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-28
      • 2021-02-05
      • 2011-06-04
      • 2014-08-03
      • 2013-05-21
      • 1970-01-01
      • 2018-05-25
      相关资源
      最近更新 更多