]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
common/options: enable multiple rocksdb compaction threads for filestore
authorJosh Durgin <jdurgin@redhat.com>
Tue, 10 Oct 2017 23:54:31 +0000 (19:54 -0400)
committerJosh Durgin <jdurgin@redhat.com>
Wed, 4 Apr 2018 14:12:43 +0000 (10:12 -0400)
One of the major benefits of rocksdb over leveldb is multithreaded
compaction. The default of 1 thread does not provide much benefit, and
is insufficient for heavy rgw workloads.

For high-write and delete omap workloads I've seen up to 8 compaction
threads be used.  There's little overhead to having a higher max than
are needed, so set the default to 8.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
(cherry picked from commit 023fa810aa6b3af305e9027e3f717e54d1bb2712)

Conflicts:
src/common/options.cc (moved to config_opts.h)

src/common/config_opts.h

index fabc2f7565650ff104ff7181c2886a49d3647a3b..5499456f65d0826d00b89230f2cf698e1ef086c3 100644 (file)
@@ -872,7 +872,7 @@ OPTION(rocksdb_collect_extended_stats, OPT_BOOL, false) //For rocksdb, this beha
 OPTION(rocksdb_collect_memory_stats, OPT_BOOL, false) //For rocksdb, this behavior will be an overhead of 5%~10%, collected only rocksdb_perf is enabled.
 
 // rocksdb options that will be used for omap(if omap_backend is rocksdb)
-OPTION(filestore_rocksdb_options, OPT_STR, "compaction_readahead_size=2097152")
+OPTION(filestore_rocksdb_options, OPT_STR, "max_background_compactions=8;compaction_readahead_size=2097152")
 // rocksdb options that will be used in monstore
 OPTION(mon_rocksdb_options, OPT_STR, "write_buffer_size=33554432,compression=kNoCompression")