Aurora平均活跃会话(AAS)与应用活跃连接数的关联及认知确认
问题解答
你的理解是否正确?
不正确。应用侧的“数据库活跃连接”与Aurora的平均活跃会话(AAS)定义完全不同,两者数值没有必然的相近关系:
- 应用侧的“活跃连接”通常指连接池(如HikariCP,JPA+Hibernate默认使用)中已建立的数据库连接总数,这些连接大部分可能处于空闲状态(等待应用请求调用),并不会触发数据库的会话活跃操作。
- Aurora的AAS是统计周期内正在执行SQL、持有锁或处理请求的数据库会话数,只有当应用通过连接池中的连接发起数据库操作时,才会被计入AAS。
如何将AAS与活跃连接数关联?
可以通过以下步骤明确两者的对应关系并优化:
- 明确指标定义:
- 应用侧:重点关注连接池的
activeConnections指标(即正在执行数据库操作的连接数),而非总连接数。比如HikariCP暴露的hikaricp.active指标,这个数值才会和Aurora的AAS处于相近范围。 - Aurora端:AAS统计的是真正在工作的会话,空闲连接(处于Sleep状态)不会被计入。可以通过
SHOW PROCESSLIST或Aurora Performance Insights查看当前会话状态,验证大部分连接是否处于空闲。
- 应用侧:重点关注连接池的
- 排查连接池配置:
你当前每个Pod设置220个连接数过高,一般建议连接池最大数设置为CPU核心数*2+1(比如8核Pod设置17左右)。过多的空闲连接只会占用数据库资源,但不会贡献到AAS。 - 关联对比:
将应用侧的activeConnections总和(所有Pod的该指标相加)与Aurora的AAS做趋势对比,正常情况下两者的波动趋势应该一致,数值范围也会相近。
内容的提问来源于stack exchange,提问作者Vishal
相关产品推荐
相关产品推荐

