Mongoose poolSize如何工作?

我试图提高我的应用程序的性能,并且认为创build多个客户端连接是一个很好的做法,以便mongodb可以并行处理查询(每个客户端连接的队列正在同步处理)

我正在使用mongoose,并阅读连接文档,我看到你可以设置poolSize(默认是5)。 我没有设置我的连接池大小,所以假设它应该是默认的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个连接vs 6? 当我断开我的服务器,它预计下降到1。

那么如果我将poolSize设置为180,我仍然可以获得9个连接与我的设置。

有人可以解释吗?

  1. mongoose连接池如何工作?
  2. 为什么我的poolSize不适用,并且
  3. 是否有多个连接意味着我的查询将通过mongo db并行进程? 或者一个mongoose连接意味着一个客户端连接?