[SERVER-13346] Provide an option to force journal preallocation and recycling Created: 25/Mar/14 Updated: 06/Dec/22 Resolved: 14/Sep/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | MMAPv1, Storage |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Minor - P4 |
| Reporter: | Mark Callaghan | Assignee: | Backlog - Storage Execution Team |
| Resolution: | Won't Fix | Votes: | 2 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Storage Execution
|
| Participants: |
| Description |
|
Journal file preallocation and recycling (see preallocj in the code) is enabled based on the outcome of a short performance test run at process start. When mongod is deployed at scale this is likely to result in some servers using preallocj=true and others using preallocj=false. That non-determinism is not good for a DBA. I get 10% better throughput from insert benchmark workloads using fast (PCIe flash) storage after forcing preallocj to be true. See http://smalldatum.blogspot.com/2014/03/redo-logs-in-mongodb-and-innodb.html |