2011-08-25 76 views
1

我目前在我的开发服务器中使用mongoDB。使用PHP 1.1.4驱动程序并使用persist命令连接到mongoDB。MongoDB连接逐渐增加。如何解决这个问题?

但不知何故我的数据库连接数量正在逐渐增加,但似乎永远不会结束这些连接也许没有超时?

我担心如果我部署我的源代码,它可能会导致一些问题,完整的连接池不会让人们使用mongoDB。

如何设置超时时间更短或以某种方式解决逐渐增加的连接问题,尽管只有一个用户。

+0

你的mongo配置文件中的maxConns设置是什么? –

+0

我没有手动配置任何东西。我可能使用默认设置。 – InspiredJW

回答

2

运行代码的每个实例都使用自己的持久连接池。 分配给每个连接的操作是否快速完成?您的代码中可能会有缓慢的查询。请在运行实例中共享mongostat的快照。这将有所帮助。它mongostat显示一切都很好,那么它可能是PHP mongodb驱动程序错误。

参见:

http://groups.google.com/group/mongodb-user/browse_thread/thread/ac005be798b6adea?pli=1

我的建议是,使用非持续性连接,并明确在脚本结束时关闭它们。 http://php.net/manual/en/mongo.close.php

尽管持续性连接性能稍差,但对于中等流量而言可以忽略不计。

+0

很好的答案,但是当你说在一个脚本的末尾明确地关闭连接时,我不会分享你的想法。据了解,在正常情况下不建议关闭连接。请参阅:http://php.net/manual/en/mongoclient.close.php – oletob

+0

@evolquez是的,我同意,连接池必须留给驱动程序。 我建议的解决方案是克服当时PHP驱动程序中存在的错误的方法 – DhruvPathak

+0

我了解你 – oletob