我正在尝试提高应用程序的性能,并认为创建多个客户端连接是一种很好的做法,以便mongodb可以并行处理查询(每个客户端连接的队列同步处理)
我正在使用mongoose,并且阅读连接文档,我看到你可以设置poolSize(默认为5)。我没有在我的连接上设置poolize,所以假设它应该是默认值5
var mongoOptions = {
server: {
poolSize: Number(process.env.MONGO_POOLSIZE) || 5
}
}
mongoose.connect(DATABASE_URL + "?authMechanism=SCRAM-SHA-1", mongoOptions);
在我的mongo客户端中运行db.serverStatus().connections
,并看到以下响应
{ "current" : 9, "available" : 195, "totalCreated" : NumberLong(2058) }
我知道这包括mongo shell连接,但为什么9个当前连接对6?当我断开服务器时,它会按预期降至1.
然后,如果我将poolSize设置为180,我仍然可以获得9个连接与我的设置。
有人可以解释
答案 0 :(得分:0)
猫鼬连接池如何工作?
poolSize
连接供内部使用。为什么我的poolSize无法应用?
具有多个连接是否意味着我的查询将由mongo db并行处理?还是一个猫鼬连接意味着一个客户端连接?