Mongodb连接数增加

时间:2018-03-21 10:02:37

标签: node.js mongodb mongoose fork spawn

在我的程序初始化阶段

我使用childProcess.fork

启动了多个正在运行的节点进程

这些进程多次连接到mongodb。所有这些论文共打开了 83 mongodb连接。它应该始终是 83 连接,而不是更多,而不是更少。

没关系。

enter image description here

在我的计划生涯中

我有一个自建的cron系统,每隔 X 秒启动一个新的节点进程。事实是这些过程在代码中没有连接到mongodb 我确信它是由于多次console.log我已经在连接函数调用中推迟。

但是随机的新连接会打开。有时,当我运行我的软件多个小时时,我会达到 88 89 甚至 103 连接。

enter image description here

奇怪的是,即使启动的节点进程停止,连接也会出现但永远不会关闭。

有趣的是,当我停止我的程序(所有节点进程)时,所有连接都会关闭。

enter image description here

我的经历

一开始我认为我的节点新流程正在连接到数据库:他们不

然后我想也许fork也在分配mongodb连接。但是我使用了spawn获得了相同的结果

正如文档所说:

  

注意:与fork(2)POSIX系统调用不同,child_process.fork()可以   不克隆当前进程。

现在我猜到了一个mongodb问题,要么我不知道并寻求你的惊人帮助!

我的设置

node.js 9.4.0

mongoose 5.0.8

mongodb 3.6.2

0 个答案:

没有答案