summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Cahill <michael.cahill@wiredtiger.com>2015-01-14 06:08:50 +1100
committerMichael Cahill <michael.cahill@wiredtiger.com>2015-01-14 06:08:50 +1100
commit48f0c43d138e98f5fddefe9f911fa3d89fb13c40 (patch)
treebbffb68d00fb935813f020ac48f8e27df10bdcd9
parentc4ee0698c5c2055627ea149f44e4b4bef6fd5a12 (diff)
downloadmongo-48f0c43d138e98f5fddefe9f911fa3d89fb13c40.tar.gz
SERVER-16602: Update WiredTiger default settings.
* Enable up to 4 eviction threads * Reduce memory_page_max from 100MB to 10MB * Update split_pct on collections to be 90, rather than 75
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp1
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp7
2 files changed, 7 insertions, 1 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
index 74dde6db5ee..921847f1992 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
@@ -146,6 +146,7 @@ namespace mongo {
ss << "create,";
ss << "cache_size=" << cacheSizeGB << "G,";
ss << "session_max=20000,";
+ ss << "eviction=(threads_max=4),";
ss << "statistics=(fast),";
if ( _durable ) {
ss << "log=(enabled=true,archive=true,path=journal,compressor=";
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp
index 59672bdf8df..bc5b647b4a1 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp
@@ -91,7 +91,12 @@ namespace {
// override values in the prefix, but not values in the suffix.
str::stream ss;
ss << "type=file,";
- ss << "memory_page_max=100m,";
+ // Setting this larger than 10m can hurt latencies and throughput degradation if this
+ // is the oplog. See SERVER-16247
+ ss << "memory_page_max=10m,";
+ // Choose a higher split percent, since most usage is append only. Allow some space
+ // for workloads where updates increase the size of documents.
+ ss << "split_pct=90,";
ss << "leaf_value_max=1MB,";
if (wiredTigerGlobalOptions.useCollectionPrefixCompression) {
ss << "prefix_compression,";