【问题标题】:How to disable mongod journal pre-allocation如何禁用 mongod 日志预分配
【发布时间】:2019-03-01 18:51:39
【问题描述】:

有没有办法防止 mongod 在 journal 文件夹中预分配这 100 MB 的文件?

WiredTigerPreplog.0000000001 WiredTigerPreplog.0000000002

我想要启用日记功能。

【问题讨论】:

    标签: mongodb journal pre-allocation


    【解决方案1】:

    在下面找到一些来自 MongoDB 文档Journaling 的注释

    WiredTiger 会预先分配日志文件。

    预分配滞后

    如果 mongod 进程确定,MongoDB 可能会预先分配日志文件 预分配日志文件比创建新文件更有效 根据需要记录日志文件。

    在启动 mongod 时,仅使用 --noprealloc 选项的 MMapv1 存储引擎可以避免预分配。但这不适用于wiredtiger 存储引擎。

    更多参考资料

    Meaning of WiredTigerPreplog files

    【讨论】:

      【解决方案2】:

      我经常需要运行 mongod 的测试实例,而这些预分配的 WiredTiger 日志(日志)文件每次只浪费 200MB。

      可以通过将此参数添加到您的 mongod 命令行来禁用它们:

      --wiredTigerEngineConfigString 'log=(prealloc=false)'
      

      或者这个到你的mongod.conf文件:

      storage:
          wiredTiger:
              engineConfig:
                  configString: log=(prealloc=false)
      

      当然,这绝不应该在生产环境中进行,并且只能在测试与日志无关的事物时进行。日志文件预分配是一种经过深思熟虑的性能特性,这在现实世界中几乎总是一种胜利(这也是它默认为 true 的原因)。

      【讨论】:

        猜你喜欢
        • 2021-03-23
        • 1970-01-01
        • 2015-06-24
        • 1970-01-01
        • 1970-01-01
        • 2013-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多