web-dev-qa-db-ja.com

Sequelize:TimeoutError:ResourceRequest timed out

Sequelize 4.5.0がインストールされたノード6.11で実行しているExpressアプリは、特に高価ではない操作でTimeoutError: ResourceRequest timed outをスローすることがあります。それぞれ個別に実行される5行の書き込みについて話します。

データベースはAmazon RDS MySQLインスタンスであり、Rubyで記述され、ORMとしてActiveRecordを使用している2番目のAPIへの接続に問題はありませんでした。

問題の診断を開始する方法がわからない、次に何をすべきかについてのアイデアはありますか?

16
Sam Calvert

時間のかかるクエリを使用して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,
    }
  }
);
2
Gustavo Emmel

Sequelizeのv4をまだ使用している場合、この問題は v4.44.1 によって修正されている可能性があります。

PRを参照: https://github.com/sequelize/sequelize/pull/1114

問題を参照してください: https://github.com/sequelize/sequelize/issues/11139

1
Michael Kaufman

この解決策は私にとってはうまくいきます:

  pool: {
    max: 100,
    min: 0,
    // @note https://github.com/sequelize/sequelize/issues/8133#issuecomment-359993057
    acquire: 100*1000,
  }
0
webolizzer