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

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

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.7.0, 4.4.2, 4.2.11
    • Affects Version/s: None
    • Component/s: Storage
    • None
    • Fully Compatible
    • v4.4, v4.2
    • Execution Team 2019-12-30, Execution Team 2020-09-07
    • 43

      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.

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

            gregory.wlodarek@mongodb.com Gregory Wlodarek
            louis.williams@mongodb.com Louis Williams
            3 Vote for this issue
            24 Start watching this issue