【发布时间】:2019-03-01 18:51:39
【问题描述】:
有没有办法防止 mongod 在 journal 文件夹中预分配这 100 MB 的文件?
WiredTigerPreplog.0000000001 WiredTigerPreplog.0000000002
我想要启用日记功能。
【问题讨论】:
标签: mongodb journal pre-allocation
有没有办法防止 mongod 在 journal 文件夹中预分配这 100 MB 的文件?
WiredTigerPreplog.0000000001 WiredTigerPreplog.0000000002
我想要启用日记功能。
【问题讨论】:
标签: mongodb journal pre-allocation
在下面找到一些来自 MongoDB 文档Journaling 的注释
WiredTiger 会预先分配日志文件。
预分配滞后
如果 mongod 进程确定,MongoDB 可能会预先分配日志文件 预分配日志文件比创建新文件更有效 根据需要记录日志文件。
在启动 mongod 时,仅使用 --noprealloc 选项的 MMapv1 存储引擎可以避免预分配。但这不适用于wiredtiger 存储引擎。
更多参考资料
【讨论】:
我经常需要运行 mongod 的测试实例,而这些预分配的 WiredTiger 日志(日志)文件每次只浪费 200MB。
可以通过将此参数添加到您的 mongod 命令行来禁用它们:
--wiredTigerEngineConfigString 'log=(prealloc=false)'
或者这个到你的mongod.conf文件:
storage:
wiredTiger:
engineConfig:
configString: log=(prealloc=false)
当然,这绝不应该在生产环境中进行,并且只能在测试与日志无关的事物时进行。日志文件预分配是一种经过深思熟虑的性能特性,这在现实世界中几乎总是一种胜利(这也是它默认为 true 的原因)。
【讨论】: