gpt4 book ai didi

node.js - MongoDB连接不断增加

转载 作者:IT老高 更新时间:2023-10-28 13:27:17 24 4
gpt4 key购买 nike

我一直在达到我的连接限制,但 http 流量一直保持一致。我使用 MMS 分析了我的 mongod 进程,发现连接数不断增加:

mongod connections

我正在为 Node.js (Express) 使用 mongoskin 包装器。在执行其他路由之前,我有一个连接到 mongo db 的自定义路由中间件:

var _connect = function(req, res, next) {
res.db = mongoskin.db(_us.sprintf(
'%s:%s@localhost:27017/%s?auto_reconnect',
app.set('mongoDbUser'),
app.set('mongoDbPw'),
app.set('mongoDb')
));
next();
};

我做错了吗?我应该如何打开和关闭连接?

最佳答案

mongoskinnode-mongodb-native 的包装器驱动程序,因此底层 native 驱动程序的选项仍然适用。

一些减少使用连接数的建议:

  1. 在启动应用程序之前打开你的连接(你不想在每个请求中打开一个连接):

     var db = new mongoskin.db(...) 
    db.open(function(err, db) {
    // Application logic
    })
  2. 调整node-mongo-native connection poolSize .连接池允许在您的应用程序中共享一组连接,而不是总是打开新连接。默认 poolSize 在旧驱动程序中为 1,在 2012 年 8 月 16 日发布的 node-mongo-native 1.1.4 驱动程序中为 5。

    所以你可以试试这样的:

     var mongoskin = require('mongoskin');
    var serverOptions = {
    'auto_reconnect': true,
    'poolSize': 5
    };
    var db = mongoskin.db('localhost:27017/test', serverOptions);

关于node.js - MongoDB连接不断增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12124677/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com