2011-08-25 53 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