Mongoose不断打开与MongoDB的连接

时间:2013-02-03 07:39:54

标签: node.js mongodb amazon-ec2 mongoose

我有一个在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

在应用启动过程中连接一次,如下所示:

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

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

我有两个问题。

首先,这是正常的吗?

其次,为什么不会为连接池打开几个连接?

谢谢

2 个答案:

答案 0 :(得分:3)

看起来他们可能在上一个mongodb驱动程序版本中为您的问题添加了修复程序:

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

1.2.11 2013-01-29   - Ping策略现在重用套接字,除非它们被服务器关闭以避免开销

https://npmjs.org/package/mongodb

答案 1 :(得分:2)

是的,这是正常的。驱动程序将ping发送到您的节点,以持续监视整个群集的运行状况,包括辅助节点。