【问题标题】:is it good to keep mongodb connection alive? [duplicate]保持mongodb连接有效吗? [复制]
【发布时间】:2016-01-15 22:02:19
【问题描述】:
我使用 node.js 和 Mongodb 创建了我的网站。
几年前学习php的时候,看到每个页面的db事务后断开mysql实例以节省服务器资源很重要。
所以我对nodejs + mongodb做了完全相同的事情。
但很快我意识到每个连接和断开功能都需要花费大量成本,尤其是 mongodb。
即使响应客户端,保持 mongodb 连接活动是否更好?保持连接处于活动状态并重新连接是否更好?
我在谷歌上搜索了这个,但我找不到任何有用的答案。
非常感谢给我一些建议。
【问题讨论】:
标签:
node.js
performance
mongodb
【解决方案1】:
当发生 Node POSIX 信号时,您应该关闭 mongoose 连接。 SIGINT 进程在终端上按下 Ctrl-C 或服务器关闭时触发。
另一种可能的情况是在数据流完成时关闭连接。无论如何,更建议在启动时连接并在关闭时断开连接。
这是断开 SIGINT 信号的代码。
// If the Node process ends, close the Mongoose connection
process.on('SIGINT', function() {
mongoose.connection.close(function () {
console.log('Mongoose disconnected on app termination');
process.exit(0);
});
});
也检查一下这个:
Do I need to manually close a mongoose connection?