3

3 つの異なる node.js アプリが実行されているテスト サーバーがあります。各アプリケーションは、同じサーバー上で実行される同じ MongoDB データベース テスト インスタンスを使用しています。そのため、どの時点でも、mongodb サーバーへの最大 3 つの異なる接続が開いています。

問題は、各コードの展開 (基本的には、現在実行中のプロセスの強制終了、コードの更新、および新しいプロセスの開始) の後、htop に表示される新しいプロセス (単一プロセスのスレッド) がサーバーに表示されること/usr/bin/mongod --config /etc/mongodb.confです。このように使用されていないスレッドが多すぎて、mongod プロセスがすべての RAM を占有するため、時々テスト サーバーを再起動する必要があります。

なぜこれが起こっているのかわかりません。この問題を解決するための解決策を探しています。

私の仮定では、単純に node.js プロセスを強制終了すると、接続 (したがって、この接続に関連するスレッド) が何らかの形で存続するため、nodejs プロセスを強制終了する代わりに、DB 接続を閉じて正常にシャットダウンする必要があります。

4

1 に答える 1