RDS Performance Insights无法显示主实例全部Top SQL统计信息求助
解决RDS主实例Performance Insights无法显示Top SQL完整统计的问题
1. 核对PI的采样与保留配置
虽然参数组一致,但得确认主实例的Performance Insights实际配置没出问题:
- 登录RDS控制台,进入主实例的PI配置页,查看采样率是否至少为
1秒/样本(采样率过低会导致SQL统计数据不全),确保数据保留周期和副本完全一致。 - 别只依赖参数组状态,直接查看实例的实时配置,避免参数组应用延迟或未生效的情况。
2. 检查MySQL Performance Schema状态
Performance Insights依赖MySQL的Performance Schema组件,主实例可能因该组件状态异常导致采集不全:
- 连接主实例的MySQL终端,执行以下命令检查状态:
确认SHOW VARIABLES LIKE 'performance_schema'; SHOW VARIABLES LIKE 'performance_schema_%';performance_schema值为ON,且events_statements_current、events_statements_history等核心消费者处于启用状态。 - 若发现消费者未启用,在参数组中调整对应的
performance_schema_xxx参数,应用后重启主实例(部分参数需重启生效)。
3. 排查主实例的资源负载瓶颈
主实例长期处于高负载状态时,PI的采集线程可能被抢占,导致数据采集不完整:
- 通过Enhanced Monitoring查看主实例实时资源使用情况:
- 检查CPU使用率是否持续过高,是否有进程占用大量CPU资源挤掉PI采集线程。
- 检查内存是否不足,内存不足会导致Performance Schema无法存储足够的SQL历史数据。
- 检查磁盘IOPS是否达到瓶颈,影响PI数据的写入效率。
- 若存在资源瓶颈,可临时扩容实例规格(如升级至db.m5.2xlarge)或优先优化高负载SQL,再观察PI数据是否恢复正常。
4. 重新关联监控角色
即便监控角色配置相同,仍需确认主实例的IAM监控角色关联状态:
- 进入RDS控制台主实例的「权限」页面,确认监控角色已正确附加,且角色拥有
rds:PerformanceInsights相关权限。 - 可尝试先移除角色,保存配置后重新添加并应用,确保角色关联生效。
5. 手动刷新Performance Schema数据
若以上步骤无效,可清空Performance Schema历史数据,强制重新采集:
- 连接主实例MySQL终端,执行以下命令:
等待10-15分钟后,查看PI的Top SQL是否显示完整统计数据。CALL sys.ps_truncate_all_tables(FALSE);
6. 联系AWS支持兜底
若所有自助排查步骤均无效,大概率是RDS服务端异常,联系AWS支持时需提供:
- 主实例与副本的ARN
- 问题出现的时间范围
- 已执行的排查步骤及结果
- 主副实例Performance Insights的截图对比
内容的提问来源于stack exchange,提问作者Skiba
相关产品推荐
相关产品推荐

