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

Improve performance of flushing data files when using lots of databases/data files

    • Type: Icon: Improvement Improvement
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 2.0.7, 2.2.0-rc1
    • Component/s: Performance
    • None

      The _flushAll method in mmap.cpp does an n^2 iteration of all the datafiles to sync them to disk (it only calls flush once per file, however, which is good). It also acquires and releases the files lock between flushing each file. When running with very large numbers of data files (usually from having a large number of databases), this can cause the flush to take a long time even if there isn't much data to flush.

            Assignee:
            Unassigned Unassigned
            Reporter:
            spencer@mongodb.com Spencer Brody (Inactive)
            Votes:
            2 Vote for this issue
            Watchers:
            13 Start watching this issue

              Created:
              Updated:
              Resolved: