MongoDB突然降级

oknrviil  于 2022-09-18  发布在  Go
关注(0)|答案(1)|浏览(185)

我也在运行MongoDB版本4.2.9(4.2.1中也有同样的问题)。

当我们在MongoDB上进行持续加载的测试时,延迟突然开始激增,示例处于糟糕的状态。这发生在大约5k读取QPS和50写入QPS(这些是通过原始关键字查询获得的,因此访问模式肯定不是问题)。读取QPS的活动数据集小于1 GB。以及超过30 GB的有线Tiger缓存大小。在mongodb forum上也提出了同样的问题,但目前还没有答案。

查看PMM dasbhaord,我可以看到,就在群集进入降级状态之前,派生进程的数量出现了巨大的峰值。

A.谁能帮我了解一下MongoDB何时、如何派生子进程?

B.我们能否限制子进程创建率的数量?

C.有没有关于MongoDB流程管理的文档?

D.这是其他问题的原因还是副作用?

在我们的MongoDB配置中,我们设置了cessManagement.fork:如果这很重要的话。

显然,正如this问题一样,也没有办法限制子进程的数量。

myzjeezk

myzjeezk1#

发生这种情况的原因可能有很多。我是根据我们的情况来回答这个问题的。但答案的某些部分可以用来检测其他问题。

摘要:由于Linux libc库问题,oplog应用程序中存在错误。MongoDB已经做了一些变通的修复,但在我们使用的MongoDB版本中没有这个修复。

这个错误在这里有很好的记录。您可以更新您的数据库版本以获取修补程序。
A.谁能帮我了解一下MongoDB何时、如何派生子进程?

每个新连接都会创建一个新进程和新的文件描述符。

我们可以限制子进程创建率的数量吗?

我们可以在此页面上将net.maxIncomingConnections限制为标准建议

C.有没有关于MongoDB流程管理的文档?

D.这是其他问题的原因还是副作用?

在我的例子中,这是MongoDB中this错误的副作用。由于MongoDB引擎中的一些错误(除了我的例子之外,可能还有其他问题),一些查询没有返回。因此,对于新请求,应用程序创建了更多数量的连接,因此创建了更多数量的文件描述符。

相关问题