]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common/options: enable multiple rocksdb compaction threads for filestore 18234/head
authorJosh Durgin <jdurgin@redhat.com>
Tue, 10 Oct 2017 23:54:31 +0000 (19:54 -0400)
committerJosh Durgin <jdurgin@redhat.com>
Wed, 11 Oct 2017 01:48:41 +0000 (21:48 -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 (trivial)

src/common/options.cc

index de6dc10974a23da4c02e37b84a2fae18f9f8a00f..b0e9cc8a92d2fea34ef49b9dbc7adfc8ec754512 100644 (file)
@@ -3650,7 +3650,7 @@ std::vector<Option> get_global_options() {
     // filestore
 
     Option("filestore_rocksdb_options", Option::TYPE_STR, Option::LEVEL_ADVANCED)
-    .set_default("compaction_readahead_size=2097152")
+    .set_default("max_background_compactions=8;compaction_readahead_size=2097152")
     .set_description(""),
 
     Option("filestore_omap_backend", Option::TYPE_STR, Option::LEVEL_ADVANCED)