From aa2e211f977d4cbf90497d6d5d076ae2c730f83b Mon Sep 17 00:00:00 2001 From: Marat S Date: Sat, 1 Mar 2025 00:28:38 +0000 Subject: [PATCH] set block cache size to 16gb in case of 2 level index --- validator/db/celldb.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/validator/db/celldb.cpp b/validator/db/celldb.cpp index a68d8056..350cc929 100644 --- a/validator/db/celldb.cpp +++ b/validator/db/celldb.cpp @@ -96,14 +96,17 @@ void CellDbIn::start_up() { db_options.snapshot_statistics = snapshot_statistics_; } db_options.statistics = statistics_; - if (opts_->get_celldb_cache_size()) { - db_options.block_cache = td::RocksDb::create_cache(opts_->get_celldb_cache_size().value()); - LOG(WARNING) << "Set CellDb block cache size to " << td::format::as_size(opts_->get_celldb_cache_size().value()); - } db_options.use_direct_reads = opts_->get_celldb_direct_io(); db_options.enable_bloom_filter = !opts_->get_celldb_disable_bloom_filter(); db_options.two_level_index_and_filter = db_options.enable_bloom_filter && opts_->state_ttl() >= 60 * 60 * 24 * 30; // 30 days + if (opts_->get_celldb_cache_size()) { + db_options.block_cache = td::RocksDb::create_cache(opts_->get_celldb_cache_size().value()); + LOG(WARNING) << "Set CellDb block cache size to " << td::format::as_size(opts_->get_celldb_cache_size().value()); + } else if (db_options.two_level_index_and_filter && !opts_->get_celldb_in_memory()) { + db_options.block_cache = td::RocksDb::create_cache(16ULL << 30); + LOG(WARNING) << "Set CellDb block cache size to 16GB"; + } if (opts_->get_celldb_in_memory()) { td::RocksDbOptions read_db_options;