首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB操作日志包含许多Noop

MongoDB操作日志包含许多Noop
EN

Stack Overflow用户
提问于 2019-12-10 22:08:54
回答 1查看 622关注 0票数 4

我正在尝试改进我的MongoDB服务器的oplog,因为现在它覆盖的时间比我希望的要少(我现在不打算增加oplog文件的大小)。我发现oplog集合中有许多noops记录-{ "op":"n“}+关于"o”的整个文档。它们可以占用大约20%-30%的物理操作日志大小。

我怎么能找到原因,因为它似乎是不好的?

我们使用的是MongoDB 3.6 + NodeJS 10 + Mongoose

附注:它出现在许多不同的集合和用例中,因此很难理解所有这些项背后的应用程序逻辑。

EN

回答 1

Stack Overflow用户

发布于 2019-12-18 10:39:21

MongoDB 3.4+副本集中应包含无操作写入,以便支持Max Staleness specification,从而帮助应用程序避免从过时的辅助数据库中读取数据,并更准确地衡量复制延迟。这些无操作写入仅在主节点空闲时发生。空闲写入间隔当前不可配置(在MongoDB 4.2中)。

最大陈旧规范包括一个示例场景,以及为什么Primary must write periodic no-ops以及其他设计决策的更详细的基本原理。

以下是设计原理的相关摘录:

空闲的主节点必须每10秒执行一次

-op (idleWritePeriodMS),以使次节点的lastWriteDate值接近主节点的时钟。no-op还使opTimes接近主节点,这有助于mongos在CSRS中选择最新的次节点进行读取。

当虚假延迟峰值得到解决时,像MongoDB云管理器这样绘制复制延迟图表的监控软件也将受益。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59269111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档