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

Performance regression in v2.2: write lock upgrading

    • ALL

      This is a case of significant reduction in performance when under heavy write load.

      The attached Java test client (MongoBenchTest.java) starts with 1 thread and ramps up to 10 threads, each inserting into a unique db with safe wc. Basically, once the durability thread has trouble keeping up, we start seeing commitIfNeeded upgrade the db lock from shared to exclusive write, and with 10 threads, the overall insert rate drops by ~50% compared to 1 thread. Disabling journaling results in much faster results, but it's just a tad faster than v2.0.7 with journaling enabled. v2.0.7 w/o journaling is the fastest.

        1. insertion_times_csharp_1M.png
          insertion_times_csharp_1M.png
          75 kB
        2. insertion_times_journal.png
          insertion_times_journal.png
          68 kB
        3. MongoBenchTest.java
          8 kB

            Assignee:
            mathias@mongodb.com Mathias Stearn
            Reporter:
            benjamin.becker Ben Becker
            Votes:
            3 Vote for this issue
            Watchers:
            15 Start watching this issue

              Created:
              Updated:
              Resolved: