You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Aurora连接数指标与实际状态不符问题排查求助

AWS Aurora连接数指标与实际查询差异的问题解答

为啥CloudWatch指标和SHOW PROCESSLIST结果不一样?

  • CloudWatch的DatabaseConnections统计的是数据库上所有已建立的连接总数,包括:
    • 应用连接池里的空闲Sleep连接
    • Aurora内部的系统连接(比如复制、监控用的)
    • 正在处理请求的活跃业务连接
  • 而SHOW PROCESSLIST默认只显示正在干活的活跃连接,要看到所有连接(包括空闲的),得用SHOW FULL PROCESSLIST;,跑这个命令后你会看到一堆Sleep状态的连接,总数就和CloudWatch的数值对上了。

连接数的规模正常吗?

结合你的TypeORM配置来看:

  • 你设了poolSize:10,这是单个连接池的最大连接数。因为开了主从复制,每个微服务会分别为主库、从库各建一个连接池,单微服务最多占10+10=20个连接
  • 3个微服务的话,理论上限是3*20=60,和你看到的50左右的连接数完全吻合
  • 高负载时涨到200-300,得排查这几点:
    • 是不是每个微服务部署了多个实例?比如每个微服务有5个实例,总连接数就是5*3*20=300,这属于合理范围
    • 有没有连接泄漏?比如应用代码里没正确释放连接,导致空闲连接一直堆着没回收
    • 是不是驱动/ORM有动态扩容连接池的逻辑?有些配置会在高负载时临时增加连接数

配置上要注意啥?

  • 加个连接池空闲超时配置(比如TypeORM里的idleTimeoutMillis),让连接池自动回收长时间不用的空闲连接,避免连接数一直涨
  • 分别监控主实例和读实例的DatabaseConnections指标,看看连接是不是合理分配到了主从节点,避免某一个实例连接过载
  • 检查应用代码里的连接使用逻辑,确保每次用完连接都正确释放(比如用try/finally包裹,或者用ORM的自动管理机制)

内容的提问来源于stack exchange,提问作者Loki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 10:03:28