Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-17342

20% drop in throughput on a contended document update between 2.6 and 3.0 MMAP

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Critical - P2 Critical - P2
    • None
    • Affects Version/s: 3.0.0-rc9
    • Component/s: MMAPv1, Storage
    • Labels:
    • ALL
    • Hide

      /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

      Show
      /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

      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 } }
         }, 
      

        1. Screen Shot 2015-02-20 at 2.48.23 PM.png
          Screen Shot 2015-02-20 at 2.48.23 PM.png
          136 kB
        2. multiupdate2-3.0.0-rc9-mmapv1-c1.tgz
          156 kB
        3. Screen Shot 2015-02-23 at 12.49.50 PM.png
          Screen Shot 2015-02-23 at 12.49.50 PM.png
          52 kB
        4. 267.pdf
          23 kB
        5. rc9.pdf
          21 kB

            Assignee:
            david.storch@mongodb.com David Storch
            Reporter:
            alvin Alvin Richards (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            13 Start watching this issue

              Created:
              Updated:
              Resolved: