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

Pad journal writes to 4k not 8k

    • Type: Icon: Improvement Improvement
    • Resolution: Won't Fix
    • Priority: Icon: Minor - P4 Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: MMAPv1, Storage
    • Labels:
    • Storage Execution

      Journal writes are padded to 8kb, see the use of Alignment in Journal::journal and "namespace dur { const unsigned Alignment = 8192;"

      With buffered IO the minimum transfer size is 4kb on Linux so padding to 8kb means that twice as much can be written to the journal in the worst case for workloads with j:1.

      This can hurt performance and also generate more wear on flash devices.

      Note that MongoDB already can write a lot more to disk for write-heavy workloads compared to its peers – http://smalldatum.blogspot.com/2014/03/redo-logs-in-mongodb-and-innodb.html

      This might help with SERVER-9802

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            mdcallag Mark Callaghan
            Votes:
            1 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved: