我有一个在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);
});
});
我有两个问题。
首先,这是正常的吗?
其次,为什么不会为连接池打开几个连接?
谢谢
答案 0 :(得分:3)
看起来他们可能在上一个mongodb驱动程序版本中为您的问题添加了修复程序:
https://github.com/mongodb/node-mongodb-native/blob/master/HISTORY
1.2.11 2013-01-29 - Ping策略现在重用套接字,除非它们被服务器关闭以避免开销
答案 1 :(得分:2)
是的,这是正常的。驱动程序将ping发送到您的节点,以持续监视整个群集的运行状况,包括辅助节点。