Sequelize:TimeoutError:ResourceRequest超时
使用Sequelize 4.5.0在节点6.11上运行的My Express应用程序有时会在不应该特别昂贵的操作上抛出TimeoutError: ResourceRequest timed out
。我们正在谈论5行写入,每行都是单独执行的。
该数据库是一个Amazon RDS MySQL实例,它没有显示连接到我们用Ruby编写的第二个API并使用ActiveRecord作为ORM的任何问题。
我不确定如何开始诊断问题,关于我接下来该做什么的任何想法?
回答如下:我使用查询消耗了大量时间来处理sequelize时遇到的问题。根据github问题(https://github/sequelize/sequelize/issues/8133#issuecomment-359993057),我的修复是增加了获取时间。当我实现一个新的续集时,我会做以下事情:
const sequelize = new Sequelize(
config.get("dbConfig.dbName"),
config.get("dbConfig.user"),
config.get("dbConfig.password"),
{
dialect: "mysql",
operatorsAliases: false,
host: config.get("dbConfig.host"),
pool: {
max: 100,
min: 0,
idle: 200000,
// @note https://github/sequelize/sequelize/issues/8133#issuecomment-359993057
acquire: 1000000,
}
}
);
Sequelize:TimeoutError:ResourceRequest超时
使用Sequelize 4.5.0在节点6.11上运行的My Express应用程序有时会在不应该特别昂贵的操作上抛出TimeoutError: ResourceRequest timed out
。我们正在谈论5行写入,每行都是单独执行的。
该数据库是一个Amazon RDS MySQL实例,它没有显示连接到我们用Ruby编写的第二个API并使用ActiveRecord作为ORM的任何问题。
我不确定如何开始诊断问题,关于我接下来该做什么的任何想法?
回答如下:我使用查询消耗了大量时间来处理sequelize时遇到的问题。根据github问题(https://github/sequelize/sequelize/issues/8133#issuecomment-359993057),我的修复是增加了获取时间。当我实现一个新的续集时,我会做以下事情:
const sequelize = new Sequelize(
config.get("dbConfig.dbName"),
config.get("dbConfig.user"),
config.get("dbConfig.password"),
{
dialect: "mysql",
operatorsAliases: false,
host: config.get("dbConfig.host"),
pool: {
max: 100,
min: 0,
idle: 200000,
// @note https://github/sequelize/sequelize/issues/8133#issuecomment-359993057
acquire: 1000000,
}
}
);