数据管理DMS 全量SQL诊断:你的SQL是健康的蓝色,还是危险的红色?

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 使用MySQL数据库的用户,不可避免都会遇到下面三个难题: 1、历史问题难定位——数据库凌晨3点发生了CPU 100%的告警,但是该时间段却没有任何慢SQL,怎么继续查找原因? 2、SQL压测模版难获取——下周要进行大促压测,DBA只能找业务方一个个的收集SQL模版、执行频率,这种方式效率低,并且无法保证正确性; 3、慢SQL是否要优化——不是所有的慢SQL都需要第一优先级优化,用户迫切需要知道数据库上哪些SQL最消耗资源,优化这些SQL,才可以提高实例的稳定性; 全量SQL诊断可以快速的解决上述问题。

三大难点问题

使用MySQL数据库的用户,不可避免都会遇到下面三个难题:

1、历史问题难定位

数据库凌晨3点发生了CPU 100%的告警,但是该时间段却没有任何慢SQL,怎么继续查找原因?

2、SQL压测模版难获取

下周要进行大促压测,DBA只能找业务方一个个的收集SQL模版、执行频率,这种方式效率低,并且无法保证正确性;

3、慢SQL是否要优化
不是所有的慢SQL都需要第一优先级优化,用户迫切需要知道数据库上哪些SQL最消耗资源,优化这些SQL,才可以提高实例的稳定性;

全量SQL诊断可以快速的解决上述问题。

CloudDBA_15

重要功能简介

执行耗时分布

如果一个实例的“执行耗时分布”越接近蓝色,代表这个实例的SQL健康情况越好,越接近橙色和红色,代表这个实例的SQL健康情况越差。

CloudDBA_11

“执行耗时分布”展示了选定时间范围内,所有SQL的执行耗时分布,将执行耗时分为了7个区间,每分钟计算一次,分别是:

[0,1]ms 满足0ms ≤ 执行耗时 ≤ 1ms SQL执行次数占比

(1,2]ms 1ms < 执行耗时 ≤ 2ms SQL执行次数占比

(2,3]ms 2ms < 执行耗时 ≤ 3ms SQL执行次数占比

(3,10]ms 3ms < 执行耗时 ≤ 10ms SQL执行次数占比

(10,100]ms 10ms < 执行耗时 ≤ 100ms SQL执行次数占比

(0.1,1]s 0.1s < 执行耗时 ≤ 1s SQL执行次数占比

>1s 1s < 执行耗时 SQL执行次数占比

例如 :
2017-10-12 19:15:00
该实例 执行耗时在[0,1]ms的SQL执行次数占比是80%;
执行耗时在(3,10]ms的SQL执行次数占比是13.33%;
执行耗时在(0.1,1]s的SQL执行次数占比是6.67%。

执行耗时(SQL RT)

通过执行耗时,可以方便的查看在选定的时间范围内,每一分钟 SQL的执行耗时。

CloudDBA_13

SQL列表

SQL列表展示了选定时间范围内每一类SQL的SQL文本、耗时比例、平均执行耗时、返回行数等信息。

耗时比例=(该类SQL执行耗时 执行次数)/(所有SQL执行耗时 总执行次数) * 100%

所以耗时比例越高的SQL,基本上可以简单的理解为占用MySQL资源越多的SQL,优化该SQL,可以获取更高的收益比,以下图的场景为例:
CloudDBA_12

红框圈定的SQL,平均耗时是67.78ms,执行次数43次,所以耗时比例是67.18%;

黄框圈定的SQL,虽然平均耗时达到209.99ms,但是因为执行次数只有一次,所以耗时比例只有4.84%;

所以在业务模型没有变化的情况下,优化第一条SQL,可以更好的降低实例的资源使用,提升实例的稳定性;

SQL明细

点击SQL ID,可以查看该类SQL执行计划、性能趋势、SQL样本:

CloudDBA_14

前提条件

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

DMS 全量SQL诊断功能目前不会进行收费,但是使用该功能的前提用户需要开启SQL审计,该功能是收费功能计费标准

背景信息

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

操作步骤

登录DMS控制台——>选择MySQL数据库——>选择“性能”菜单——>点击“SQL趋势”——>点击“全量SQL诊断”

详细操作步骤如下:

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

CloudDBA_1

  1. 选择MySQL数据库,并单击登录数据库按钮进行登录。
  2. 如下图所示,在顶部导航栏菜单中,选择性能>SQL趋势:

CloudDBA_2

CloudDBA_11

相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
相关文章
|
2月前
|
Java Apache Android开发
Struts 2的秘密武器:揭秘社区中隐藏的学习宝藏,让你从新手到高手的不归路!
【8月更文挑战第31天】Struts 2学习资源丰富,除官方文档外,TutorialsPoint和W3Schools等网站提供详尽教程;《Apache Struts 2实战》等书籍含全面实例。Udemy、Pluralsight及YouTube上视频课程众多,Apache Software Foundation亦有网络研讨会。实践方面,GitHub上的开源项目及个人小项目都是好选择。寻求帮助可访问Apache官方论坛、Stack Overflow等平台。
35 0
|
3月前
|
SQL 运维 安全
数据管理DMS使用问题之执行了错误的SQL导致数据丢失,该怎么办
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
4月前
|
SQL 运维 安全
数据管理DMS产品使用合集之执行SQL时,如何添加Hint来改变查询的执行计划
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
54 1
|
4月前
|
SQL 数据管理 关系型数据库
数据管理DMS产品使用合集之如何设置SQL执行的超时时间
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
39 1
|
4月前
|
SQL 运维 数据管理
数据管理DMS产品使用合集之如何实现对某张表进行全量同步,而不用重新创建整个同步任务
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
46 1
|
4月前
|
SQL 弹性计算 数据管理
数据管理DMS产品使用合集之sql server实例,已经创建了数据库,登录时提示实例已存在,该怎么处理
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
54 1
|
3月前
|
SQL 关系型数据库 MySQL
MySQL小白教程(进阶篇):深入理解SQL与数据管理
MySQL小白教程(进阶篇):深入理解SQL与数据管理
|
4月前
|
SQL 运维 数据管理
数据管理DMS产品使用合集之导出工单列表时是否展示SQL内容
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
4月前
|
SQL 运维 数据管理
数据管理DMS产品使用合集之在执行 INSERT 语句时是否会生成回滚 SQL
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
107 2
|
4月前
|
SQL 数据管理 调度
数据管理DMS产品使用合集之是否可以导出执行失败的sql
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。