Test
- standalone mongod
- test with following benchRun script:
var run = function() { var d = db.getSiblingDB("test"); d.foo.insert({_id:1,a:0}); res = benchRun( { ops : [{ ns : "test.foo", op : "update" , query: {_id: 1}, update : { $inc: {a: 1} } , w: 1, writeCmd : true }], seconds : 60, totals : true, writeCmd : true, w: 1, parallel : 40 }); return res } var s = db.serverStatus(); var v = db.serverBuildInfo(); print("Version: " + v.version) print("git version: " + v.gitVersion) if ( s.storageEngine !== undefined) { print("storageEngine: " + db.serverStatus().storageEngine.name) } print("Update RPS: " + run().update);
Results:
- the throughput from both WT and mmapv1 is slower than that of 2.6.7
test rc9 + wt rc9 + mmapv1 2.6.7 + mmapv0 contenedUpdate (update with 40 thread) 23082 22061 25975 update with 1 thread 8947 10849 10816
Observation
- WT update is slow, this probably related how update is done with WT. With single thread update, it is 17.3% slower than 2.6.7, and 11.2% with 40 thread update
- mmapv1 is slower when there is contention, and in par with mmapv0 (single thread update)
- duplicates
-
SERVER-17411 20% drop in Update perf for MMAPv1 vs 2.6 MMAP
- Closed
- is related to
-
SERVER-17342 20% drop in throughput on a contended document update between 2.6 and 3.0 MMAP
- Closed