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

Steady decline in performance in capped collections under wiredTiger

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL

      Description

      Seeing steady and continual drop in insert performance in capped collections. Using https://github.com/mongodb/mongo/commit/8197195ce0faee1df316b2b45649cbc61dcf3ec8

      Starting at 40k inserts/second and dropping to 16k inserts/second over 15 minutes

      10000 40322
      20000 41152
      30000 40000
      40000 41152
      50000 41152
      60000 40322
      70000 40983
      80000 40000
      90000 40983
      100000 39525
      110000 40816
      120000 40816
      130000 40000
      140000 40816
      150000 40000
      160000 40983
      170000 39370
      180000 40322
      190000 40650
      200000 40322
      210000 40983
      220000 39682
      230000 40160
      240000 40983
       
      ...
      15720000 19011
      15730000 18903
      15740000 19047
      15750000 18552
      15760000 18867
      15770000 19047
      15780000 19047
      15790000 19011
      15800000 19120
      15810000 18656
      15820000 18975
      15830000 18939
      15840000 19011
      15850000 19083
      15860000 18726
      15870000 18903
      15880000 18656
      15890000 18975
      15900000 19047
      15910000 18832
      15920000 18975
      15930000 15625
       

       function create(size) {
           db.createCollection("c", {capped: true, size: size})
       }
            
       function insert(count) {
           var every = 10000
           var bulk = db.c.initializeUnorderedBulkOp();
           var t = new Date()
           for (var i=0; i<=count; i++) {
               if (i>0 && i%every==0) {
                   bulk.execute();
                   bulk = db.c.initializeUnorderedBulkOp();
                   tt = new Date()
                   print(i, Math.floor(every / (tt-t) * 1000))
                   t = tt
               }
               bulk.insert({})
           }
       }
        
       create(10000000)
       insert(100000000)

        Attachments

        1. capped.png
          capped.png
          118 kB
        2. oplog-master.png
          oplog-master.png
          82 kB
        3. oplog-profile.png
          oplog-profile.png
          304 kB
        4. oplog-rc4.png
          oplog-rc4.png
          81 kB

          Issue Links

            Activity

              People

              Assignee:
              alexander.gorrod Alexander Gorrod
              Reporter:
              david.daly David Daly
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              12 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: