mongod进程过多

Ale*_*kiy 1 mongodb node.js

我们有运行3个不同的node.js应用程序的测试服务器。每个应用程序都使用相同的MongoDB数据库测试实例,该实例也在同一服务器上运行。因此,在任何给定的时间,我们最多有3个与mongodb服务器的不同开放连接。

问题是每次部署代码后(基本上是:杀死当前正在运行的进程,代码更新并启动新进程),我在服务器上看到新进程(单个进程的线程),在htop中显示为/usr/bin/mongod --config /etc/mongodb.conf。因此,我们不得不不时地重新启动测试服务器,因为有太多这样的未使用线程,这使mongod进程占用了所有RAM。

我不确定为什么会这样,并正在寻找解决方案来解决此问题。

我的假设是,如果我们只是简单地终止了node.js进程,连接(以及与此连接相关的线程)仍然会保持活动状态,因此,除了终止nodejs进程外,我们还应该通过关闭数据库连接来优雅地关闭它。

sup*_*ova 5

htop还会显示不同的线程,您的mongod不会启动多次,而同一配置将无法实现,因为该端口已在使用中。

使用top或ps aux | grep mongod,您应该只会看到一个过程。

您还可以配置htop不显示这些内容,请按F2>显示选项>隐藏用户界面线程。