3

EC2 で実行されている Node.js アプリを MongoDB に接続しており、常に接続を開いたり閉じたりしています。ログファイルを追跡すると、次の無限のストリームが表示されます。

Sat Feb   2 23:29:06 [initandlisten] connection accepted from X.X.X.X:54291 #700437
Sat Feb  2 23:29:06 [conn700437] end connection X.X.X.X:54291
Sat Feb  2 23:29:06 [initandlisten] connection accepted from X.X.X.X:42206 #700438
Sat Feb  2 23:29:06 [conn700438] end connection X.X.X.X:42206
Sat Feb  2 23:29:06 [initandlisten] connection accepted from X.X.X.X:34255 #700439
Sat Feb  2 23:29:06 [conn700439] end connection X.X.X.X:34255
Sat Feb  2 23:29:07 [initandlisten] connection accepted from X.X.X.X:49641 #700440
Sat Feb  2 23:29:07 [conn700440] end connection X.X.X.X:49641
Sat Feb  2 23:29:08 [initandlisten] connection accepted from X.X.X.X:54293 #700441

接続は、アプリの起動プロセス中に次のように 1 回行われます。

app.configure('production', function() {
    mongoose.connect('connstring');
})

app.configure(function database() {    
    mongoose.connection.on('error', function (err) {
        console.log(err);
    });
});

2 つの質問があります。

まず、これは正常ですか?

第 2 に、接続プール用にいくつかの接続が開いているだけではないのはなぜでしょうか?

ありがとう

4

2 に答える 2

3

ここでの最後のmongodbドライバーリリースで、問題に修正が追加された可能性があるようです:

https://github.com/mongodb/node-mongodb-native/blob/master/HISTORY

1.2.11 2013-01-29 - ping 戦略は、オーバーヘッドを避けるためにサーバーによって閉じられていない限り、ソケットを再利用するようになりました

https://npmjs.org/package/mongodb

于 2013-02-06T21:39:04.337 に答える
2

はい、これは正常です。ドライバーはノードに ping を送信して、セカンダリ ノードを含むクラスター全体の状態を継続的に監視します。

于 2013-02-03T14:37:17.547 に答える