【问题标题】:NodeJS: How to use Connection Pooling with MySQL correctly? How useful it is?NodeJS:如何正确使用 MySQL 连接池?它有多大用处?
【发布时间】:2018-08-08 09:32:33
【问题描述】:

我在 NodeJS 和 MySQL 中使用连接池。在睡眠状态的进程列表中还有几个连接,即使站点没有大流量,最终也会导致连接过多。

这是我使用的示例代码:

var pool = mysql.createPool({
    host: '127.0.0.1',
    user: '***',
    password: '***',
    database: '****'
});
pool.getConnection(function (err, connection) {
    connection.query("SELECT * from test", function (error, data) {
        connection.release();
        if (error) {
            console.log(error);
        } else {
            // perform further process
        }
    });
});

连接没有在适当的位置释放?建议上面的代码是否有任何改进。

【问题讨论】:

  • 还是没有找到解决办法!!!

标签: mysql node.js database-connection connection-pooling


【解决方案1】:

池就是这样做的,你可以添加连接限制...

var pool = mysql.createPool({
    connectionLimit : 10,
    host: '127.0.0.1',
    user: '***',
    password: '***',
    database: '****'
});

【讨论】:

  • 设置connectionLimit:2,仍然可以看到超过2的连接。
  • 如果 Node 为每个新的 http 请求创建一个单独的池怎么办?
  • 有什么办法可以防止这种情况发生吗?您可以参考的任何示例代码
  • 您必须在应用程序启动时创建一个池并将其保存在全局变量中以供以后使用...这将是正确的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-09
  • 1970-01-01
  • 1970-01-01
  • 2019-05-29
  • 2021-03-28
  • 1970-01-01
相关资源
最近更新 更多