【发布时间】:2018-10-09 18:03:25
【问题描述】:
我的 Knex 驱动程序出现间歇性错误:
TimeoutError: Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?
我猜,要么是我的 RDS Aurora 实例暂时无法从服务器访问,要么是我的连接池在特别繁忙的流量增长期间用完了。我想记录并绘制连接池中可用连接与占用连接的图表,以查看我确实用完了连接,以及连接使用高峰时是否存在特定点。但我似乎无法从谷歌那里找到是否有办法从 Knex 或其池管理器获取可用连接数。这可能吗?如果没有,是否有其他方法可以记录有关我的连接池的统计信息?
我看到有一个选项可以传递给连接池 init log,它需要一个布尔值。我正在使用Winston 将我的日志发送到 Loggly,而不仅仅是发送 stdout 的内容。我不知道“日志”属性会记录我感兴趣的事件,但无论如何我都需要将该信息作为数据获取,以便我可以以有意义的方式将其发送到 Loggly。
【问题讨论】:
-
我意识到 node-postgres 而不是 Knex 满足了我的需求,并且 node-postgres 可以轻松访问有关池的统计信息。我不再需要这个问题的答案,但我把它留在这里以防其他人需要。
标签: knex.js