[SERVER-17342] 20% drop in throughput on a contended document update between 2.6 and 3.0 MMAP Created: 20/Feb/15  Updated: 05/Mar/15  Resolved: 05/Mar/15

Status: Closed
Project: Core Server
Component/s: MMAPv1, Storage
Affects Version/s: 3.0.0-rc9
Fix Version/s: None

Type: Bug Priority: Critical - P2
Reporter: Alvin Richards (Inactive) Assignee: David Storch
Resolution: Duplicate Votes: 0
Labels: 28qa, cap-ss
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PDF File 267.pdf     PNG File Screen Shot 2015-02-20 at 2.48.23 PM.png     PNG File Screen Shot 2015-02-23 at 12.49.50 PM.png     File multiupdate2-3.0.0-rc9-mmapv1-c1.tgz     PDF File rc9.pdf    
Issue Links:
Duplicate
duplicates SERVER-17411 20% drop in Update perf for MMAPv1 vs... Closed
Related
related to SERVER-17341 update on single doc is slower than 2... Closed
is related to SERVER-17411 20% drop in Update perf for MMAPv1 vs... Closed
Operating System: ALL
Steps To Reproduce:

/home/ec2-user/mongodb-linux-x86_64-2.6.7/bin/mongod --dbpath /data2/db --logpath /data3/logs/db/server.log --fork --bind_ip 127.0.0.1

python benchrun.py -f testcases/complex_insert.js testcases/complex_update.js testcases/long_multi_update.js testcases/mixed_small.js testcases/simple_commands.js testcases/simple_geo_2d_index.js testcase
s/simple_geo_2dsphere_index.js testcases/simple_insert.js testcases/simple_multi_update.js testcases/simple_query.js testcases/simple_remove.js testcases/simple_update.js testcases/simple_update_mms.js -t
1 2 4 8 12 16 20 -l multiupdate-2.6.7-mmapv0-c1 --rhost 54.191.70.12 --rport 27017 -s /home/ec2-user/mongo-perf-shell/mongo --writeCmd true --trialCount 7 --trialTime 20 --testFilter \'MultiUpdate.v1.Con
tended.Doc.Seq.Indexed\' -c 1 --dyno

Participants:

 Description   

Problem

Observed 20% drop in throughput between 3.0.0-rc9 and 2.6.7 for MMAP storage engine. WT seems to have similar perf to 2.6.7.

2.6.7 - 22907.37
3.0.0-rc9 - 18285.02

The results were gather from 20 second runs, each with 7 iterations. It can be seen there is very little variance in the attached screenshot from run-to-run.

Testcase definition

name: "MultiUpdate.v1.Contended.Doc.Seq.NoIndex"
pre: function( collection ) {
   collection.drop();
   for ( var i = 0; i < 4800; i++ ) {
      collection.insert( { _id : i , x : 0 } );
   }
   collection.getDB().getLastError();
   collection.ensureIndex( { x : 1 } );
   }
ops: { op:  "update",
     multi: true,
     query: { _id : 1600 },
     update: { $inc : { x : 1 } }
   }, 


Generated at Thu Feb 08 03:44:05 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.