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

Speedup WiredTiger storage engine startup for many tables by optimizing WiredTigerUtil::setTableLogging()

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.7.0, 4.4.2, 4.2.11
    • Component/s: Storage
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Backport Requested:
      v4.4, v4.2
    • Sprint:
      Execution Team 2019-12-30, Execution Team 2020-09-07
    • Case:
    • Linked BF Score:
      43

      Description

      SERVER-25025 targets inefficiencies in startup initialization in MongoDB's use of WiredTiger.

      Even with these optimizations, given a large number of collections, we could still benefit from parallelizing the startup procedure. It is currently single-threaded and mostly CPU-bound, spending almost all CPU time-per-collection in setTableLogging(). This uses an expensive "metadata:create" cursor to determine whether or not a table is logged.

        Attachments

        1. after.png
          295 kB
          Gregory Wlodarek
        2. before.png
          300 kB
          Gregory Wlodarek

          Issue Links

            Activity

              People

              Assignee:
              gregory.wlodarek Gregory Wlodarek
              Reporter:
              louis.williams Louis Williams
              Participants:
              Votes:
              3 Vote for this issue
              Watchers:
              19 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: