为什么MongoDB连接数满了?

Posted _雪辉_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么MongoDB连接数满了?相关的知识,希望对你有一定的参考价值。

文章目录


  MongoDB对每个连接都会由一个单独的线程来处理,每个线程配置了1MB 的栈空间,当网络连接数太多时,过多的线程会导致上下文切换开销变大,同时内存开销也会上涨。
  使用 MongoDB 时,可能会遇到因为 mongod 连接数用满了,导致客户端无法连接的问题。mongod的最大连接数通过 net.maxIncomingConnections 指定,默认值为1000000,相当于没有限制,生产环境强烈建议根据实际需求配置,以避免客户端误用导致 mongod 负载过高。
Unable to add session into the cache because the number of active sessions is too high.
产生条件

  • 运行4.2系列版本4.2.0~4.2.5;
  • 累计创建过100万隐式会话

影响

  • 无法执行新的操作;

解决方案

  • 升级到4.2.6版本(永久解决)
  • 重启节点
  • 设置更大的maxSessions参数。

以上是关于为什么MongoDB连接数满了?的主要内容,如果未能解决你的问题,请参考以下文章