From 9fa56a4d8fd2f83dbb98cbf458ced9af415b798b Mon Sep 17 00:00:00 2001 From: Smilencer <527646889@qq.com> Date: Fri, 10 Jan 2020 10:39:07 +0800 Subject: [PATCH] feat(rocksdb): Select the option of Direct-IO in Rocksdb (#450) --- src/server/pegasus_server_impl.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/server/pegasus_server_impl.cpp b/src/server/pegasus_server_impl.cpp index 6a71083..82104de 100644 --- a/src/server/pegasus_server_impl.cpp +++ b/src/server/pegasus_server_impl.cpp @@ -93,6 +93,28 @@ pegasus_server_impl::pegasus_server_impl(dsn::replication::replica *r) _db_opts.pegasus_data = true; // read rocksdb::Options configurations + + _db_opts.use_direct_reads = dsn_config_get_value_bool( + "pegasus.server", "rocksdb_use_direct_reads", false, "rocksdb options.use_direct_reads"); + + _db_opts.use_direct_io_for_flush_and_compaction = + dsn_config_get_value_bool("pegasus.server", + "rocksdb_use_direct_io_for_flush_and_compaction", + false, + "rocksdb options.use_direct_io_for_flush_and_compaction"); + + _db_opts.compaction_readahead_size = + dsn_config_get_value_uint64("pegasus.server", + "rocksdb_compaction_readahead_size", + 2 * 1024 * 1024, + "rocksdb options.compaction_readahead_size"); + + _db_opts.writable_file_max_buffer_size = + dsn_config_get_value_uint64("pegasus.server", + "rocksdb_writable_file_max_buffer_size", + 1024 * 1024, + "rocksdb options.writable_file_max_buffer_size"); + _db_opts.write_buffer_size = (size_t)dsn_config_get_value_uint64("pegasus.server", "rocksdb_write_buffer_size", -- GitLab