SQL请求行为识别是数据库自治服务DAS的一个功能,它可以帮助您在业务量多的情况下识别异常请求的SQL,提高问题定位的效率。本文将为您介绍SQL请求行为识别的使用场景及设置方法。
前提条件
- 实例版本为RDS MySQL 5.6、5.7、8.0。
- 购买DAS专业版。
背景信息
随着您业务量增长,数据库的监控指标的复杂度也会上升,从而出现很多的SQL请求。而且某些SQL请求特征相似,通过全量SQL很难逐条去定位问题SQL。数据库自治服务DAS(Database Autonomy Service)的SQL请求行为识别能够通过机器学习方法进行聚类筛选,为您提供更快速、高效、精准的异常SQL定位服务。
场景示例
场景:当您的业务请求有大量SQL模板,不管通过哪种排序,都很难快速定位到异常SQL请求。如下图所示红框部分和蓝框部分各属于一类问题SQL请求。

解决方案:使用SQL请求行为识别功能通过以下两个方案帮助您快速定位性能相关的问题:
- 方案一:当业务存在大量请求的时候,DAS能够按照SQL请求行为对SQL模板进行分类。例如面对上百页的SQL模板,如果通过排序很难一个个去筛选问题SQL,此时可以使用SQL请求行为识别,通过DAS后端算法找出相似的行为图像,帮助您将大量的SQL模板聚类,由此提高问题定位的效率。
- 方案二:SQL请求行为识别功能能根据指标的异常时间段来排查与异常指标相关的问题。CPU指标出现如下图红圈所示的尖刺之后,DAS后端算法会根据SQL请求行为计算和CPU指标的关联度,推荐出与问题指标最相关的SQL请求类别。
操作步骤
其他说明
DAS帮助聚类海量的SQL请求,您会发现相似的SQL模板的波动趋势相似。
- 虽然此SQL请求有一个短暂的突增,但是突增波动的时间点和指标的突增并不同,所以此类模板并不是与指标最关联的,如下图所示。
- 通过异常指标,可以看到CPU和活跃会话的尖刺时间,恰好是下面SQL模板类别突降的时刻,说明活跃会话影响了SQL模板类,导致此类SQL请求都被阻塞。