Details
-
Bug
-
Resolution: Done
-
Major - P3
-
3.1.5, 3.1.6
-
None
-
Fully Compatible
-
ALL
Description
Saw a 30% performance decline between 3.1.4 and 3.1.5 in a simple insert workload - 8 threads of the following:
every = 10000
|
for (var i=0; i<500000; ) {
|
var bulk = db.c.initializeUnorderedBulkOp();
|
for (var j=0; j<every; j++, i++)
|
bulk.insert({x:0})
|
bulk.execute()
|
}
|
Execution time in seconds:
1-node rs standalone 1-node rs
|
wiredtiger wiredtiger mmapv1
|
3.0.5 19 11 90
|
3.1.4 20 12 91
|
3.1.5 28 12 109
|
No performance regression on standalone node, and regression is the primary, so presumably related to oplog insertion. Similar performance regression for both WT and mmapv1.
Did a git bisect and identified f302737346da1bfb46f5c3b295bfb7896daa1508 as the first bad commit, and this change is indeed related to oplog processing.
Even though this is a bit old at this point, more recent builds show similar (or worse) performance, so presumably this is still relevant.
Attachments
Issue Links
- related to
-
SERVER-18498 New replica set configurations have protocolVersion=1 by default
-
- Closed
-