【问题标题】:Too many open connections with mongo 2.6 + pymongo 2.7.2mongo 2.6 + pymongo 2.7.2 打开的连接太多
【发布时间】:2016-09-19 21:28:07
【问题描述】:

我运行 Mongo 2.4 的副本集包含 1 个主节点、1 个辅助节点和一个仲裁器。我们使用的是 pymongo 2.6 和 mongoengine 0.8.2。

最近,我们升级到 Mongo 2.6,也升级了 pymongo 到 2.7.2 和 mongoengine 到 0.8.7。 这个设置运行了将近 12 个小时,之后我们开始收到以下错误:

[initandlisten] connection refused because too many open connections: 819

ulimit 是 1024,它与 Mongo 2.4 完美配合,因此我们没有增加它。增加它可能会暂时解决问题,但我们将来会再次解决它。不知何故,根本原因似乎是 Pymongo 无法关闭连接。任何指示为什么会发生这种情况?

PS:当使用 Mongo 2.4 与 pymongo 2.7.2 和 mongoengine 0.8.7 时,一切正常,最大连接数约为 250。仅使用 Mongo 2.6、pymongo 2.7.2 和 mongoengine 0.8.7,连接数拍到819。

【问题讨论】:

    标签: python mongodb database-connection pymongo mongoengine


    【解决方案1】:

    所以经过一番挣扎和大量负载测试,我们通过将 PyMongo 升级到 2.8.1 解决了这个问题。 PyMongo 2.7.2 是第一个支持 MongoDB 2.6 的版本,它在处理连接时确实存在一些问题。升级到 PyMongo 2.8.1 帮助我们解决了这个问题。相同负载下,连接数不超过250-300。

    【讨论】:

      猜你喜欢
      • 2011-12-15
      • 1970-01-01
      • 1970-01-01
      • 2011-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多