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

Performance regression in Mongo-Perf mms tests with wiredTiger

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 3.1.5
    • Fix Version/s: 3.1.6
    • Component/s: Performance, WiredTiger
    • Labels:
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Steps To Reproduce:
      Hide

      In the shell

      var setupMMS = function( collection ) {
          collection.drop();
       
          var base = { _id: 0, a: 0, h: {}, z: 0 };
          for (var i = 0; i < 24; i++) {
              base.h[i] = {};
              for (var j = 0; j < 60; j++) {
                  base.h[i][j] = { n: 0, t: 0, v: 0 };
              }
          }
          collection.insert(base);
      };
      use test0
      setupMMS(db.Update_MmsIncShallow10)
      benchRun({"ops":[{"op":"update","query":{"_id":0},"update":{"$inc":{"a":1}},"ns":"test0.Update_MmsIncShallow10","safe":false,"w":0,"j":false,"writeCmd":true}],"seconds":10,"host":"127.0.0.1:27017","parallel":1})
      

      The update line in the output shows the update throughput.

      Show
      In the shell var setupMMS = function( collection ) { collection.drop();   var base = { _id: 0, a: 0, h: {}, z: 0 }; for (var i = 0; i < 24; i++) { base.h[i] = {}; for (var j = 0; j < 60; j++) { base.h[i][j] = { n: 0, t: 0, v: 0 }; } } collection.insert(base); }; use test0 setupMMS(db.Update_MmsIncShallow10) benchRun({"ops":[{"op":"update","query":{"_id":0},"update":{"$inc":{"a":1}},"ns":"test0.Update_MmsIncShallow10","safe":false,"w":0,"j":false,"writeCmd":true}],"seconds":10,"host":"127.0.0.1:27017","parallel":1}) The update line in the output shows the update throughput.

      Description

      Running mongo-perf test Update.MmsIncShallow1 and the other mms tests shows a large regression (~90%) from master to 3.0.4. On evergreen, 3.1.5 gets 1100 ops/s and 3.0.4 gets 11,434.

      The following data captures both runs. The first run (A to B) is with 3.0.4. The second run (C to D) is with 3.1.5.

      In particular, there appears to be a lot of eviction traffic in the second case, but not the first. The test is 5 seconds long and the server was started immediately before the test.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: