我一直在寻找mongodb中意外关闭的连接,但只能找到想要关闭它们的人的问题.
我使用node-mongodb-native连接到数据库,但我一直看似随机的"错误:连接关闭"消息.如果我手动重试请求(浏览器刷新),请求将起作用.
知道是什么导致了这个吗?有一些简单的选择会有所帮助吗?
我使用以下方法获取数据库句柄:
MongoClient.connect(connection_string, { auto_reconnect: true }, function (err, db) {
//server code/routes in here
}
Run Code Online (Sandbox Code Playgroud)
我正在浏览https://github.com/mongodb/node-mongodb-native/blob/master/lib/mongodb/connection/server.js,但我意识到我对如何管理连接池的有限理解正在绊倒我起来.我的印象是他们会在我服务器的生命周期内保持开放状态.有人可以帮忙吗?
编辑:在阅读了mjhm的评论之后,我开始更深入地了解TCP保持活力.偶然发现一些网站暗示这可能是Azure正在做的(这个问题现在被错误分类了!).显然,Azure负载均衡器会在1分钟的活动后终止连接.我正在使用Azure网站,因此它可能适用也可能不适用,但我认为这种洞察力很有希望开始新的调查.更多细节http://blogs.msdn.com/b/avkashchauhan/archive/2011/11/12/windows-azure-load-balancer-timeout-details.aspx