2014-05-06 49 views
0

我正在使用Mongoose連接到MongoDB。爲數據庫創建了10個連接池。我只想確保是否使用了所有10個連接,如果有大約1000個併發用戶,則只有1個連接MongoDB連接

1.連接對象中是否有任何唯一標識符來區分正在使用哪個連接?

連接字符串示例 -

mongoose.createConnection('mongodb://localhost/mydatabase',{server:{poolSize:10}}); 

回答

0

當你有一個適當的連接池,默認會如此最大尺寸在這方面的第一次使用始終設置。所以默認情況下:

poolSize: 5, 
minPoolSize: 3 

這意味着在初始連接時,所有5個連接將在池中進行並設置。隨着時間的推移,這些參數閒置(如果他們這樣做),那麼池的大小將降至3的最小值。當然,這些參數的最大或最小偏移量不會隨着它們的設置而變化。

如果您的活動相當忙碌,那麼您可能會在游泳池中使用最大數量,因爲它們會定期從游泳池中抽取並且不會陳舊。

您當然可以通過詢問驅動程序信息來獲取當前的使用情況信息。連接池條目在一個數組中,您可以通過獲取這個長度來獲得計數。

從貓鼬模型,讓這裏的路徑是:

console.log(Model.db.db.serverConfig.connectionPool.openConnections.length); 

這條嵌入本地驅動程序的信息得到這個。沿着這條路徑還有其他有趣的信息可能會對應用程序工具有用。

+0

對於一個請求,如何找出從池中使用哪個連接。是否每個連接都有唯一的ID – mongoUser