SQL请求行为识别是数据库自治服务DAS的一个功能,它可以帮助您在业务量多的情况下识别异常请求的SQL,提高问题定位的效率。本文将为您介绍SQL请求行为识别的使用场景及设置方法。
前提条件
- 实例版本为:
- RDS MySQL 5.6、5.7、8.0
- MyBase 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使用率和活动会话的峰值时间与SQL模板类别的请求突然减少的时间相同,这表明当活动会话激增时,这些类别的SQL请求会被阻塞。
操作步骤
其他说明
DAS帮助聚类海量的SQL请求,您会发现相似的SQL模板的波动趋势相似。
- 虽然此SQL请求有一个短暂的突增,但是突增波动的时间点和指标的突增并不同,所以此类模板并不是与指标最关联的,如下图所示。
- 下图显示了异常指标的趋势。在该图中,CPU使用率和活动会话的峰值时间与SQL模板类别的请求突然减少的时间相同。这表明当活动会话激增时,这些类别的SQL请求会被阻塞。