10秒SQL分析

发现 MySQL 实例 CPU 满了,怎么办?

发现 MySQL SQL 执行慢,怎么办?

DMS 新上线 “10 秒 SQL 分析” 功能,轻轻一点,就可以知道哪些 SQL 在捣蛋。

前提条件

用户获取权限并已登录DMS控制台。

背景信息

目前暂时仅支持云数据库 RDS 版 MySQL 实例。

功能说明

登录DMS控制台 ——> 选择MySQL数据库 ——> 选择“性能”菜单 ——> 点击“实例会话(新)”

  1. 默认展示实例当前的活跃会话。

CloudDBA会话

上述的案例中,用户发现所有的Insert、Update、Delete等 DML 操作都超时失败。

  • 查看“实例会话”

    (1) 执行时间最长会话是 “drop database …”

    (2) 大量的“flush tables with read lock” 会话 Waiting for global read lock

    (3) 所有的写入操作被“flush tables with read lock” 会话阻塞

    kill 掉“drop database …”的会话,数据库即可恢复。

  • 查看“10秒SQL分析”

    点击右上角的“10秒SQL分析”,DMS 每隔100ms查看实例的会话状态,分析 SQL执行情况:

CloudDBA 10s SQL

(1) 快速定位 “10秒采样时间内,执行次数最多的SQL”;

(2) 确定哪些慢SQL正在执行;

(3) 点击“发起诊断”,优化慢SQL;

功能入口

  1. 登录DMS控制台后,界面如下图所示: 主页

  2. 选择MySQL数据库,并单击登录数据库按钮进行登录。

  3. 如下图所示,在顶部导航栏菜单中,选择性能>实例会话(新):实例会话入口