Node.js 池中使用的忙连接数

Node.js 池中使用的忙连接数,node.js,postgresql,connection-pooling,Node.js,Postgresql,Connection Pooling,我正在pg节点js模块中使用连接池 据我所知,当您使用连接池时,您的连接是为您创建的,并且在需要时存储了一些方法,您已经得到了实例化的连接 现在关于pg: 简单代码 pg.connect(conString, function (err, client, done) { if (err) { callback(err); } else { client.query('SELECT * FROM users', function (err, result)

我正在pg节点js模块中使用连接池

据我所知,当您使用连接池时,您的连接是为您创建的,并且在需要时存储了一些方法,您已经得到了实例化的连接

现在关于pg:

简单代码

pg.connect(conString, function (err, client, done) {
    if (err) {
      callback(err);
    } else {
      client.query('SELECT * FROM users', function (err, result) {
        done();
        if (err) callback(err);
        callback(null, result.rows);
      });
    }
  });
当我调用
pg.connect
方法时,我假设,我已经从池中获得了实例化的连接,当我调用
done
时,我返回到池中的连接

现在我想调试我的应用程序,我可能忘记调用
done
,或者以一种不高效的方式进行调试

如何打印繁忙连接的数量?或者另一种调试方法。提前谢谢。

我遇到了一些问题,当我的路由请求挂起30秒时,我想是的,因为我没有返回到池的连接。

来自pg模块


希望这有帮助…

它打印0,0,0,0。这是什么意思?它是getPoolSize和AvailableObjectScont函数的输出,我建议您研究“pg”模块的文档以了解它的含义,链接在我的回答中。我认为@Slowarry的意思是,对于
getPoolSize
AvailableObjectScont
,它似乎总是返回0。我来这里就是为了这个原因,已经阅读了文档。即使在使用ApacheBench进行负载测试时,对于这些调用,除了0之外,我从未看到其他任何东西。
var pg = require('pg');

pg.connect(function(err, client, done) {
  var pool = pg.pools.getOrCreate();
  console.log(pool.getPoolSize()); //1
  console.log(pool.availableObjectsCount()); //0
  done();
  console.log(pool.getPoolSize()); //1
  console.log(pool.availableObjectsCount()); //1
});