我将MaxPoolSize值增加到 3000。这是否意味着使用此实例允许 3000 个并发连接,或者它也计算通过其他对象实例的任何其他连接?
var connectionString = "mongodb://username:password@ip:27017/MyDB?maxPoolSize=3000"
var client = new MongoClient(connectionString);
return client.GetDatabase(databaseName);
Run Code Online (Sandbox Code Playgroud)
嗯,和你说的不完全一样。该文章提供的连接池是如何工作的,它基本上指出,一个简短的解释:
大多数 MongoDB 驱动程序都支持设置应用程序可用的最大连接数(池大小)的参数。连接池大小可以被认为是您的驱动程序可以服务的最大并发请求数。默认池大小因驱动程序而异,例如,对于 Node,它是 5,而对于 Python,它是 100。如果您预计应用程序会收到许多并发或长时间运行的请求,我们建议增加池大小 - 相应地调整!
服务器上的总传入连接限制由操作系统或maxIncomingConnections(或MongoDB 2.4 及更早版本中的maxConns)施加的限制中的较小者确定。
其实这两种设置的区别如下: