Sequelize 4.5.0がインストールされたノード6.11で実行しているExpressアプリは、特に高価ではない操作でTimeoutError: ResourceRequest timed out
をスローすることがあります。それぞれ個別に実行される5行の書き込みについて話します。
データベースはAmazon RDS MySQLインスタンスであり、Rubyで記述され、ORMとしてActiveRecordを使用している2番目のAPIへの接続に問題はありませんでした。
問題の診断を開始する方法がわからない、次に何をすべきかについてのアイデアはありますか?
時間のかかるクエリを使用してsequelizeで同じ問題に直面しました。 githubの問題( https://github.com/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.com/sequelize/sequelize/issues/8133#issuecomment-359993057
acquire: 1000000,
}
}
);
Sequelizeのv4をまだ使用している場合、この問題は v4.44.1 によって修正されている可能性があります。
PRを参照: https://github.com/sequelize/sequelize/pull/1114
問題を参照してください: https://github.com/sequelize/sequelize/issues/11139
この解決策は私にとってはうまくいきます:
pool: {
max: 100,
min: 0,
// @note https://github.com/sequelize/sequelize/issues/8133#issuecomment-359993057
acquire: 100*1000,
}