有没有办法防止 mongod 在日志文件夹中预先分配这些 100 MB 文件?
WiredTigerPreplog.0000000001 WiredTigerPreplog.0000000002
我希望启用日记功能。
有没有办法防止 mongod 在日志文件夹中预先分配这些 100 MB 文件?
WiredTigerPreplog.0000000001 WiredTigerPreplog.0000000002
我希望启用日记功能。
在下面查找 MongoDB日志记录文档中的一些注释
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
)。