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

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Duplicate
    • Priority: Major - P3
    • None
    • Affects Version/s: 2.0.7, 2.2.0-rc1
    • Component/s: Performance
    • None
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • 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
            Reporter:
            Spencer Brody (Inactive)
            Votes:
            2 Vote for this issue
            Watchers:
            13 Start watching this issue

              Created:
              Updated:
              Resolved: