mysql - Sequelize/express 和 AWS RDS 连接过多

标签 mysql express sequelize.js pm2

使用 Node/Express/Sequelize 构建 API 后端。在 2 个四核 EC2 实例(8 个集群)和 Aurora RDS 上运行 pm2,具有 3,000 个可用连接。目前正在运行 Sequelize 5。每隔几天的测试,我都会收到来自 mysql 的“连接过多”错误。

这是为了一份新工作。我尝试了多种池配置,但结果是相同的。

    "dialect": "mysql",
    "pool": {
        "max": 30,
        "min": 5,
        "idle": 10000,
        "acquire": 60000
    }
} ```

Expected Sequelize to reuse or close connections.

最佳答案

我可以提出一些可以帮助您解决此问题的建议。

1)只需增加连接池,因为您有足够的服务器规范。

2) 将获取时间减少到 30000 而不是 60000,这样重新开始连接将需要很长时间,避免丢失任何数据或给系统用户带来问题。

3)只需检查“顶级”服务器日志创建了多少连接,并确保应删除空闲连接。

关于mysql - Sequelize/express 和 AWS RDS 连接过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56139654/

相关文章:

mysql - 如何使用 Sequelize 查询虚拟列?

node.js - Sequelize-CLI、Postgres、Heroku 生产 TypeError [ERR_INVALID_ARG_TYPE] : The "url" argument must be of type string. 接收类型未定义

mysql - 在 MySQL 中选择带有子行和状态列表的行?

mysql - SQL 查询 : How many worst cells do I need to exclude to achieve 90% success rate

php - 订购和选择常用标签

node.js - 我不能同时使用 $set 运算符和 $inc 运算符,只有一个在我的情况下有效

node.js - 我怎样才能在 Jade(哈巴狗)中做到这一点?

node.js - 使用 expressjs 流式传输对客户端的响应时遇到问题

mysql - 根据时间戳删除超过 24 小时或 1 天的记录

mysql - SQL查询根据条件返回额外的列