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
- related to
-
SERVER-9802 Single-threaded journal compression becomes a bottleneck when using "durable" writes
- Closed