GaussDB-SQL采集
操作场景
SQL采集用于在数据库当前负载下,分析慢SQL执行时间过长的可能原因,并给出对应的诊断建议。
前提条件
数据库实例已被DBMind纳管。
注意事项
-
SQL采集的SQL最小执行时长的默认值,可以通过修改系统参数“log_min_duration_statement”进行配置。系统参数的修改方法请参考参数。
-
主备版实例只支持查询主DN节点,分布式实例只支持查询CN节点。对在剩余节点上执行的SQL暂不支持采集。
-
主备切换、实例重启,会导致之前的慢SQL数据丢失。
-
数据源为当前SQL数据、历史SQL数据、模板采集数据时,采集最多1000条SQL。
-
在执行SQL诊断时,如果诊断结果为“INVALID SQL”。表示进行慢SQL分析的用户(dbmind_manager)权限不足,需要参考如下语句为分析用户赋权:
操作步骤
-
单击具体实例名称,进入“实例管理”详情页。
-
单击“诊断优化 > SQL诊断”,显示“SQL诊断”页面。
-
单击“SQL采集”页签,可进行SQL诊断。
图1 SQL采集
参数名称 参数说明 数据源(必填) 可选择当前SQL数据、历史SQL数据、模板采集数据以及全量SQL数据。其中全量SQL数据只有在全量SQL开关开启之后才会展示。 节点选择(选填) 在主备版实例中,默认节点是主DN,分布式实例中,提供给用户选择CN节点。 数据库名(选填) 下来选择待采集的数据库。 最小执行时长(选填) - 数据源选择当前SQL数据时,最小执行时长是指当前SQL已执行的时间; - 数据源选择为历史SQL数据时,最小执行时长是指历史SQL执行的时长,值可通过参数管理页配置log_min_duration_statement参数,默认为3000毫秒。 | | 用户名(选填) | 用户可通过下拉框选择用户名。以下用户名平台会进行过滤,下拉框中不主动显示,用户可自行输入用户名筛选。- rdsAdmin
- rdsBackup
- rdsMetric
- rdsRepl |
-
填写完成后,单击“开始采集”。
-
单击SQL列表中的“操作 > 诊断”,查看诊断结果。
- 模板计划:SQL可能实施的执行计划。
- 根因:慢SQL根因。
- 建议:对根因的建议。
SQL全链路
操作场景
支持通过业务SQL的唯一SQL ID、事务ID、链路ID进行SQL执行链路信息查询。
前提条件
- 数据库实例已被DBMind纳管。
- 登录账号需要具备授权项“gaussdb:instance:listSqlLink”。
约束限制
- 事务ID为0时不支持使用事务ID查询链路信息。
- 链路ID为空时不支持使用链路ID查询链路信息。
- 唯一SQL ID为0时不支持使用唯一SQL ID查询链路信息。
操作步骤
-
单击具体实例名称,进入“实例管理”详情页。
-
****选择“诊断优化 > SQL诊断”,选择“SQL采集”,数据源为全量SQL数据。根据条件查询全量SQL列表。
-
跳转至SQL全链路。
- 可以单击唯一SQL ID(唯一SQL ID不为0)跳转至全链路页面,展示该条SQL的执行链路信息。
- 可以单击事务ID(事务ID不为0)跳转至全链路页面,展示该事务的执行链路信息。
- 可以单击链路ID(链路ID不为空)跳转至全链路页面,展示数据库驱动使用该链路ID执行的所有SQL的执行链路信息。
图2 SQL全链路信息
表1 SQL全链路参数说明
模块 参数名称 参数解释 资源耗时信息 CPU耗时 CPU上花费的时间。 IO耗时 IO上花费的时间。 其余耗时 有效的DB时间减去CPU耗时、IO耗时。 内核执行模块耗时信息 SQL解析耗时 解析SQL语句花费的时间。 SQL重写耗时 重写SQL语句花费的时间。 SQL生成计划耗时 生成SQL执行计划花费的时间。 执行器内执行耗时 执行SQL语句花费的时间。 其余耗时 有效的DB时间减去SQL解析耗时、SQL重写耗时、SQL生成计划耗时、执行器内执行耗时。 等待事件代码耗时信息 耗时TOP5事件列表 耗时最多的事件耗时信息列表。 其余事件耗时 所有事件耗时减去TOP5事件耗时。 事件外耗时 有效的DB时间减去所有等待事件代码耗时。 资源类等待事件耗时-IO耗时信息 耗时TOP5事件列表 耗时最多的IO事件列表。 其余事件耗时 所有IO事件耗时减去TOP5 IO事件耗时。 事件外耗时 有效的DB时间减去所有IO等待事件耗时。 资源类等待事件耗时-加锁耗时信息 耗时TOP5事件列表 耗时最多的加锁事件列表。 其余事件耗时 所有加锁事件耗时减去TOP5加锁事件耗时。 事件外耗时 有效的DB时间减去所有加锁事件耗时。 资源类等待事件耗时-轻量级加锁耗时信息 耗时TOP5事件列表 耗时最多的轻量级加锁事件列表。 其余事件耗时 所有轻量级加锁事件耗时减去TOP5轻量级加锁事件耗时。 事件外耗时 有效的DB时间减去所有轻量级加锁事件耗时。 -
单击具体节点显示SQL在该节点上执行的详细信息弹窗。
图3 SQL在节点上执行详细信息弹窗
表2 弹窗部分参数说明
参数名称 参数解释 DB Time 有效的DB时间花费,多线程将累加(单位:微秒)。db_time和开始时间/结束时间统计是两套机制,不完全符合;但差异非常小,不影响性能问题分析。
更多详情请参考GaussDB 文档中心:doc.hcs.huawei.com/db/zh-cn/ga…