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

update on single doc is slower than 2.6 (both WT and mmapv1)

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

      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)

            Assignee:
            dan@mongodb.com Daniel Pasette (Inactive)
            Reporter:
            rui.zhang Rui Zhang (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved: