问题场景:做活动时,限时活动数据库连接数爆满,导致活动卡死约20分钟。
经验:
- 连接数建议:数据库连接数不要超过最大连接数,至少留10个连接,保证RDS能正常登录(开发人员)。
- 排查问题:show full PROCESSLIST,state中展示当前卡顿的SQL,实时定位问题SQL。
- 解决问题:
a. RDS控制台--性能--实例会话,kill掉当前卡顿的sql会话,恢复数据性能(https://help.aliyun.com/knowledge_detail/41713.html)。
b. 限制当前执行SQL的最长时间(loose_max_statement_time),单位毫秒,无需重启。
c. loose_rds_threads_running_high_watermark 控制查询类的最大线程数。