> 技术文档 > AWS RDS 排查性能问题

AWS RDS 排查性能问题


AWS RDS 排查数据库问题

1.查看当前横在执行的SQL

select id,user,time,left(info,100) from information_schema.processlist where time>0 and info is not null order by time desc ;

2.AWS RDS 查看性能详情

AWS RDS 排查性能问题

查看 Top SQL,AAS最高的几个sql,然后看这个颜色的柱子,综合正在执行的SQL 最后初步得出具体什么原因导致的。

3.kill 会话

查看正在执行会话的用户

SELECT id, USER, HOST, COMMAND, TIME, STATE,info, QUERY_ID FROM INFORMATION_SCHEMA.PROCESSLIST  WHERE USER = \'...\' and id=\'...\' and COMMAND \'Sleep\' \\G;

kill 掉具体的用户会话:

CALL mysql.rds_kill( id );

4. 终极手法

在复杂情况中,MySQL 并没有非常实时的将耗时SQL凸显出来,我们可以找一台VPC内服务器,通过一个简单的脚本将数据库当前性能详情写入到一个文件里面,用来分析,查看数据库正在干什么。

[root@ip-10-1-61-250 ~] # cat ./mysqltest.sh#!/bin/bashwhile :;domysql -hjiangmysql.cpa1onesgnhw.rds.cn-north-1.amazonaws.com.cn -uroot -pXXXXX -e\"select now();show full processlist;show status like \'Open_tables\';show open tables;\" >> /root/mysqldata.log;sleep 5;done