OPTION(rocksdb_separate_wal_dir, OPT_BOOL, false) // use $path.wal for wal
OPTION(rocksdb_db_paths, OPT_STR, "") // path,size( path,size)*
OPTION(rocksdb_log_to_ceph_log, OPT_BOOL, true) // log to ceph log
+OPTION(rocksdb_cache_size, OPT_INT, 128*1024*1024) // default leveldb cache size
+OPTION(rocksdb_block_size, OPT_INT, 4*1024) // default rocksdb block size
// rocksdb options that will be used for omap(if omap_backend is rocksdb)
OPTION(filestore_rocksdb_options, OPT_STR, "")
// rocksdb options that will be used in monstore
opt.env = static_cast<rocksdb::Env*>(priv);
}
+ auto cache = rocksdb::NewLRUCache(g_conf->rocksdb_cache_size);
+ rocksdb::BlockBasedTableOptions bbt_opts;
+ bbt_opts.block_size = 32 * 1024;
+ bbt_opts.block_cache = cache;
+ opt.table_factory.reset(rocksdb::NewBlockBasedTableFactory(bbt_opts));
+ dout(10) << __func__ << " set block size to " << g_conf->rocksdb_block_size
+ << " cache size to " << g_conf->rocksdb_cache_size << dendl;
+
status = rocksdb::DB::Open(opt, path, &db);
if (!status.ok()) {
derr << status.ToString() << dendl;