在过去的 6 个月里,我有一个 Rails 应用程序在生产中运行,每周部署一次,没有任何问题。
现在,我已经有一个反复出现的问题大约 3 周了,而且它似乎每周都变得更糟。当我的应用程序启动并到达尝试连接数据库的位置时,我收到此错误:
Can't connect to MySQL server on '***.amazonaws.com' (110) (Mysql2::Error)
AFAIK,这个错误告诉我我已经达到了 MySQL 的最大连接数限制。
从配置中,我应该能够打开 296 个连接。我的应用程序设置为运行 7 个实例,每个实例的数据库连接池为 5,因此在部署新实例时它不能真正超过 70 个连接。
我从未在 AWS RDS 控制台或SHOW PROCESSLIST
命令中看到连接数超过 20。
我认为这与 Rails 或我的应用程序服务器 (Puma) 没有任何关系,因为当问题发生时我无法通过 MySQL 命令行工具进行连接。
有人对 RDS 上的 MySQL 或 MySQL 本身有类似的问题吗?