与Mongos实例的开放连接过多

时间:2018-07-05 20:37:13

标签: node.js mongodb sharding

我们正在从单个副本集迁移到分片,并且遇到了一些问题。我们有3个mongos实例,3个配置服务器和15个数据节点(5个分片和3个副本)。我们看到查询性能确实很差,看着mongos实例,我发现每个实例有25k个开放连接!

例如,我看到类似的日志行

[listener] connection accepted from 10.10.36.122:35098 #521622 (23858 connections now open)

[conn498875] end connection 10.10.36.122:41520 (23695 connections now open)

作为参考,我们还有另一个几乎完全相同的环境,我们尚未转移到分片,它显示了约250个开放连接。

应用程序代码使用的是nodejs驱动程序,并且使用的连接网址看起来像

mongodb://mongos0.some.internal.domain:27017,mongos1.some.internal.domain:27017,mongos2.some.internal.domain:27017

我对于如何追踪这个问题有点茫然。这不是连接到mongos的正确方法吗?

编辑(7/7/18)

经过一些试验,我发现我们使用的connectTimeoutMS为180000(3分钟)。删除该值可解决问题。但是,尚不清楚为什么此配置可用于独立副本集,但在分片时会引起问题。谁能解释这是怎么回事?

0 个答案:

没有答案