使用Mongoose连接到MongoDB。为数据库创建了10个连接池。我只是想确保是否使用了所有10个连接,或者如果有大约1000个并发用户则只需要1个
1.连接对象中是否有任何唯一标识符来区分正在使用的连接?
示例连接字符串 -
mongoose.createConnection('mongodb://localhost/mydatabase',{server:{poolSize:10}});
答案 0 :(得分:0)
当你有一个连接池时,默认设置是这样,最初的大小总是在第一次使用该连接时设置。所以默认情况下:
poolSize: 5,
minPoolSize: 3
这意味着在初始连接时,将在池中建立和设置所有5个连接。随着时间的推移,它们会闲置(如果它们会这样),那么池的大小将降至最小值3.当然,这些参数的最大或最小偏差都不会随着它们的设置而变化。
如果您在活动上相当忙碌,那么您可能会在池中获得最大数量,因为它们经常从池中抽取并且不会过时。
您当然可以通过询问驱动程序信息来获取当前的使用信息。连接池条目位于一个数组中,您可以通过获取其长度来获取计数。
从猫鼬模型中,到达此处的路径是:
console.log( Model.db.db.serverConfig.connectionPool.openConnections.length );
其中深入了解本机驱动程序信息以获取此信息。沿着该路径还有其他有趣的信息,您可能会发现它们对应用程序工具很有用。