aws
resource_error
ai_generated
true
FATAL:抱歉,客户端数量过多(RDS Proxy 连接限制已超出)
FATAL: sorry, too many clients already (RDS Proxy connection limit exceeded)
ID: aws/rds-proxy-connection-limit-exceeded
80%修复率
85%置信度
1证据数
2024-01-20首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| RDS Proxy 1.0.0 | active | — | — | — |
| PostgreSQL 13.7 | active | — | — | — |
| MySQL 8.0.33 | active | — | — | — |
根因分析
RDS Proxy 已达到最大并发连接数限制,通常是由于连接泄漏或代理容量不足。
English
The RDS Proxy has reached its maximum concurrent connections limit, often due to connection leaks or insufficient proxy capacity.
官方文档
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html解决方案
-
在代理设置中增加 RDS Proxy 的 MaxConnectionsPercent(控制台或使用 CLI 'aws rds modify-db-proxy --db-proxy-name myproxy --max-connections-percent 100')。这允许代理根据数据库实例的 max_connections 按比例处理更多连接。
-
修复应用程序中的连接泄漏:确保在所有代码路径中正确关闭数据库连接(例如,使用连接池,设置 'maxLifetime' 和 'idleTimeout')。使用像 HikariCP(Java)或 pgBouncer(PostgreSQL)这样的连接池库。
无效尝试
常见但无效的做法:
-
60% 失败
Increasing the database instance max_connections without adjusting RDS Proxy's MaxConnectionsPercent parameter still leaves the proxy as the bottleneck.
-
40% 失败
Restarting the RDS Proxy doesn't solve the underlying issue of connection leaks from the application; connections will quickly exhaust the limit again.