Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js MongoDB NodeJS驱动程序池连接(问题)_Node.js_Mongodb - Fatal编程技术网

Node.js MongoDB NodeJS驱动程序池连接(问题)

Node.js MongoDB NodeJS驱动程序池连接(问题),node.js,mongodb,Node.js,Mongodb,我刚刚使用MongoDB建立了一个完整的NodeJS机器人。这个Discord服务器大约有24k人左右向机器人发送命令,我已经使用了 (由于有用户名、密码和IP,信息模糊) 这是我的URI,正如您所看到的,我允许了非常大的池大小 通常情况下,我的应用程序(在启用池之前)的平均连接数会达到300-600,因为它在cose中有多个“MongoDB.Connect(uri)等”实例,并且在集合结束时有大量的db.close() 我已经清理了整个过程,只调用了MongoClient.Connect()的

我刚刚使用MongoDB建立了一个完整的NodeJS机器人。这个Discord服务器大约有24k人左右向机器人发送命令,我已经使用了

(由于有用户名、密码和IP,信息模糊)

这是我的URI,正如您所看到的,我允许了非常大的池大小

通常情况下,我的应用程序(在启用池之前)的平均连接数会达到300-600,因为它在cose中有多个“MongoDB.Connect(uri)等”实例,并且在集合结束时有大量的db.close()

我已经清理了整个过程,只调用了MongoClient.Connect()的一个实例&然后在代码中引用这个连接一次(作为旁路)

之后,我确保擦除所有可能关闭db的内容(db.close();)

我已经启动了,但一切似乎都响应良好——因此没有数据库/mongo错误

然而,通过MongoDB Compass查看,我的连接数大约为29。这显然很好,但当我启用300个池时,这不是应该更高吗

这就是我的mongod.cfg的样子


我错过了什么吗?还是一切正常?

每个客户端连接到每个服务器一次或两次以进行监视。如果创建的客户端执行单个操作,而该操作针对4.4副本集运行,则有7个打开的连接

通过重用客户端,您可以显著减少总连接数


此外,由于您的每项操作都可以更快地完成(无需等待服务器发现),因此预计还会进一步减少。

在让它完成一些工作(在总共25000个文件中每毫秒更改100个文件)的同时,连接数似乎并没有真正转移多少(我们讨论37个)。为什么不涨得更多?为了加快进程-完成后,连接计数保持在37而不是下降。serviceExecutor:adaptive-在mongod.cfg中,这可能与此有关吗?是的,我可以看到它仍然保持稳定。。30次连接超过24小时,几乎是在几百次连接之前。速度似乎和以前一样,稳定性也不错。所以我会假设我的“池”是按预期进行的?即使少了几百个犯人
"url": "mongodb://XXXX:XXXX@XXX.XX.XXX.XX.XXX:25000/?authSource=admin?maxPoolSize=500&poolSize=300&autoReconnect=true",