文档

一键诊断

更新时间:

AnalyticDB for MySQL推出一键诊断功能,可针对指定时间段的集群运行状况发起诊断,结合监控数据、日志数据以及库表状态等信息进行联合分析,从集群的资源水位、负载变化、查询SQL、算子、存储等多方面评估集群的健康状况,帮助您提高集群问题排查、分析效率。

操作步骤

  1. 登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表,单击目标集群ID。

  2. 在左侧导航栏中,单击监控信息

  3. 拖动指标曲线或在下拉列表中选择待诊断的时间范围,单击一键诊断

    重要

    该功能仅支持诊断14天以内的信息,当前支持的诊断时间范围最长为1小时。

    系统会自动弹出诊断结果页面,您可以在该页面查看集群的诊断结果。

解读一键诊断报告

诊断结果包含Bad SQL检测、异常Pattern检测、业务指标检测、计算层检测、存储层检测等信息,您可以根据诊断结果快速分析并解决问题。

Bad SQL检测

Bad SQL检测包括Stage个数TOP SQL最耗内存SQL最耗CPU SQL数据读取量TOP SQL输出数据量TOP SQL最耗时SQL等检测指标。每个检测指标中最多包含10条SQL,且每条SQL均按照当前检测指标降序排列。同时,系统会在后台对最耗时SQL指标中的每条SQL完成自诊断,点击操作列左侧的image.png按钮,可即时查看SQL诊断结果。若您需要深入分析当前查询,可点击操作列的诊断,跳转至查询详情页面,查看执行计划,进行自助分析。

异常Pattern检测

异常Pattern检测会查询指定时间段内指标异常的Pattern,例如某个Pattern的提交次数是否突然增多、Pattern的最大使用内存是否突然增加。异常Pattern检测包括峰值内存查询耗时算子Cost输出数据量提交次数等检测指标,每个检测指标中包含SQL Pattern、检测结果详情和Pattern的其他相关指标3个字段,其中:

  • SQL Pattern:SQL模板,您可以根据SQL模板判断异常Pattern的SQL语句。

  • 检测结果详情:异常Pattern的原因,主要包括分位值、最值的比较等信息。

  • Pattern的其他相关指标:当前异常Pattern的峰值内存、算子Cost、查询耗时等相关指标,帮助您进行综合判断和分析。

业务指标检测

业务指标检测会对集群的各项业务指标进行检测,包括集群连接数检测查询响应时间检测

集群连接数检测

集群连接数检测会把指定时间段内(例如:14:00-15:00)的数据与前3天每天同一时间段(14:00-15:00)的数据做对比(即同比)。若当前时间段内,百分之八十的数据点同比前3天同一时间的数据点,增长率超过百分之二十,则认为连接数同比升高,您需要关注是否有新的业务流量或异常连接等问题。

查询响应时间检测

查询响应时间检测与集群连接数检测的逻辑相同。即当前时间段内,若百分之八十的数据点同比前3天同一时间的数据点,增长率超过百分之二十,则认为查询响应时间同比升高,您需要关注是否有流量升高或慢SQL等问题。

说明

增长率的计算方法为:(当前数据点-过去数据点)/过去数据点*100

计算层检测

存储层检测包括异常算子检测节点在线状态检测CPU使用率倾斜检测资源组平均CPU使用率检测资源组间CPU使用率倾斜检测

异常算子检测

  • 算子详细信息

    计算层检测功能,可以帮助您快速查找异常算子(例如Join算子、Aggregation算子、Sort算子、Window算子),并按照当前检测指标降序排列。您可以根据内存消耗、CPU消耗、输入输出数据量等字段对异常算子进行分析,或点击操作列的诊断,查看算子所属的原始查询执行计划,进一步分析和确认算子的SQL语句、来源等信息。

  • 算子汇总信息

    某些情况下,多个异常算子会导致资源消耗增大,异常算子检测会将最耗CPU算子和最耗内存算子2个指标进行聚合,您可以根据聚合后的结果查看各类算子指标的最大值,确认异常算子。

节点在线状态检测

Executor节点压力较大或内部异常时,可能会导致Executor节点不健康,无法提供正常的服务,最终导致查询失败或查询变慢。节点在线状态检测会自动检测指定时间段内的Executor节点状态,若Executor节点不健康,则会提示检测异常,从而帮助您判断问题时段的异常原因。

CPU使用率倾斜检测

检测不同Executor节点间CPU使用率是否均衡,若所有Executor节点的最高CPU使用率比其平均CPU使用率高出1倍,且持续时间超过指定时间段的百分之八十,则认为Executor节点间的CPU使用率存在倾斜,建议您持续关注并排查是否存在数据倾斜。详细信息请参见数据建模诊断

重要

检测结果分为三个等级,包括NORMAL(正常)、WARNING(警告)、CRITICAL(重要)。检测等级为CRITICAL时,需要您重点关注,否则会影响业务的正常运行。

资源组平均CPU使用率检测

检测指定时间段内资源组平均CPU使用率,若某个资源组的CPU使用率超过百分之八十,且持续时间超过指定时间段的百分之八十,则认为该资源组CPU使用率较高,建议您评估是否需要调整该资源组的资源量。详细信息请参见修改资源组

重要

检测结果分为三个等级,包括NORMAL(正常)、WARNING(警告)、CRITICAL(重要)。检测等级为CRITICAL时,需要您重点关注,否则会影响业务的正常运行。

资源组间CPU使用率倾斜检测

检测不同资源组间CPU使用率是否均衡。若水位最高的资源组CPU使用率比资源组平均CPU使用率高出1.5倍,且持续时间超过指定时间段的百分之八十,则认为资源组间CPU使用率存在倾斜,建议您评估是否需要调整不同资源组的资源量。详细信息请参见修改资源组

重要

检测结果分为三个等级,包括NORMAL(正常)、WARNING(警告)、CRITICAL(重要)。检测等级为CRITICAL时,需要您重点关注,否则会影响业务的正常运行。

存储层检测

存储层检测包括建表与表访问检测节点在线状态检测最大CPU使用率检测平均CPU使用率检测CPU使用率倾斜检测

建表与表访问检测

  • 表访问检测

    表访问检测会自动检测指定时间段内被访问的表,包括最大数据读取量、平均数据读取量、最大数据读取耗时、平均数据读取耗时和表访问次数5个指标,并按照当前检测指标降序排列。

  • 数据分布倾斜表详情

    AnalyticDB MySQL版分区表需要选择一个分布比较均匀的字段作为分布字段,在数据写入时会根据分布字段进行数据打散,写入到不同的Worker节点上。选择的分布字段不均匀时,会导致表倾斜。表倾斜检测功能会先定位数据量最大的表,然后再检测这些表是否存在数据倾斜。对倾斜的表进行优化,可以提升查询性能,均衡磁盘空间的数据量,降低磁盘锁定的风险。

  • 不合理分区表详情

    表分区不合理检测会先定位数据量最大的表,然后再检测这些表是否存在分区不合理的情况。

节点在线状态检测

Worker节点压力较大或内部异常时,可能会导致Worker节点不健康,无法提供正常的服务,最终导致查询失败或者查询变慢。节点在线状态检测会自动检测指定时间段内的Worker节点状态,若Worker节点不健康,则提示检测异常,从而帮助您判断问题时段的异常原因。

最大CPU使用率检测

检测指定时间段内所有Worker节点的最大CPU使用率。若所有Worker节点的最大CPU使用率超过百分之九十,且持续时间超过指定时间段的百分之八十,则认为CPU使用率较高,需要您排查是否存在慢SQL。详细信息请参见典型慢查询

重要

检测结果分为三个等级,包括NORMAL(正常)、WARNING(警告)、CRITICAL(重要)。检测等级为CRITICAL时,需要您重点关注,否则会影响业务的正常运行。

平均CPU使用率检测

检测指定时间段内所有Worker节点的平均CPU使用率。若所有Worker节点的平均CPU使用率超过百分之八十,且持续时间超过指定时间段的百分之八十,则认为CPU使用率较高,需要您排查是否存在慢SQL。详细信息请参见典型慢查询

重要

检测结果分为三个等级,包括NORMAL(正常)、WARNING(警告)、CRITICAL(重要)。检测等级为CRITICAL时,需要您重点关注,否则会影响业务的正常运行。

CPU使用率倾斜检测

检测不同Worker节点间CPU使用率是否均衡,若所有Worker节点的最高CPU使用率比其平均CPU使用率高出1倍,且持续时间超过指定时间段的百分之八十,则认为Worker节点间的CPU使用率存在倾斜,建议您持续关注并排查是否存在数据倾斜。详细信息请参见数据建模诊断

重要

检测结果分为三个等级,包括NORMAL(正常)、WARNING(警告)、CRITICAL(重要)。检测等级为CRITICAL时,需要您重点关注,否则会影响业务的正常运行。

  • 本页导读 (1)
文档反馈