参考我在这里的问题,我在我的 NodeJS 应用程序中使用第一个字节的时间很慢,使用 Knex 作为数据库库。
版本:
- 邮政:9.6.1
- 节点:7.4.0
- 千内克斯: 0.12.6
- 角度:1.3
有人建议:
要解决此问题,您需要研究如何使用连接:
池的大小
在所有请求中管理连接的方式
运行 http 请求时,如何查看活动连接以及 knex 如何管理池?如何确保我的连接得到最佳使用?
节点中的池 knex 配置:
pool: {
min: 2,
max: 8,
}
使用环境变量运行您的应用程序DEBUG=knex:*
当您启动请求时,您将看到非常详细的信息knex
内发生的事情 + 时间。
应该给你足够的信息,看看时间在哪里流逝。
如果您想直接从这样的generic-pool
请求统计信息:
knex = require('knex')({client: 'pg', connection: 'postgres:///knex_test'})
poolStats = {
connectionsAvailable: knex.client.pool.availableObjectsCount(),
connectionsUsed: knex.client.pool.inUseObjectsCount(),
clientsWaitingForConnection: knex.client.pool.waitingClientsCount(),
};
{ connectionsAvailable: 2,
connectionsUsed: 0,
clientsWaitingForConnection: 0 }