Sequelize:TimeoutError:ResourceRequest超时

Sam*_*ert 13 mysql node.js sequelize.js

使用Sequelize 4.5.0在节点6.11上运行的My Express应用程序有时会抛出TimeoutError: ResourceRequest timed out不应该特别昂贵的操作.我们正在谈论5行写入,每行都是单独执行的.

该数据库是一个Amazon RDS MySQL实例,它没有显示连接到我们用Ruby编写的第二个API并使用ActiveRecord作为ORM的任何问题.

我不确定如何开始诊断问题,关于我接下来该做什么的任何想法?

Gus*_*mel 9

我在使用消耗大量时间的查询进行续集时遇到了同样的问题。基于 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,
    }
  }
);
Run Code Online (Sandbox Code Playgroud)


小智 4

这个解决方案对我有用:

  pool: {
    max: 100,
    min: 0,
    // @note https://github.com/sequelize/sequelize/issues/8133#issuecomment-359993057
    acquire: 100*1000,
  }
Run Code Online (Sandbox Code Playgroud)

  • 欢迎来到堆栈溢出。虽然此代码可以回答问题,但提供有关此代码为何和/或如何回答问题的附加上下文可以提高其长期价值。[如何回答](https://stackoverflow.com/help/how-to-answer) (2认同)