openGauss学习笔记-297 openGauss AI特性-AI4DB数据库自治运维-DBMind的AI子功能-慢SQL根因分析
297.1 概述
慢SQL一直是数据运维中的痛点问题,如何有效诊断慢SQL根因是当前一大难题,工具结合openGauss自身特点融合了现网DBA慢SQL诊断经验,支持慢SQL根因分析,能同时按照可能性大小输出多个根因并提供针对性的建议。
297.2 环境部署
- 数据库运行正常。
- 指标采集系统(即openGauss exporter、reprocessing exporter以及node exporter)运行正常。
297.3 使用指导
假设用户已经初始化配置文件目录confpath,则可以通过下述命令实现本特性的功能:
-
仅启动慢SQL诊断功能(输出Top3根因),启动命令如下(更多用法参考对service子命令的说明):
gs_dbmind service start -c confpath --only-run slow_query_diagnosis
-
用户交互式慢SQL诊断,命令如下:
gs_dbmind component slow_query_diagnosis show -c confpath --query SQL --start-time timestamps0 --end-time timestamps1
-
用户手动清理历史预测结果,命令如下:
gs_dbmind component slow_query_diagnosis clean -c confpath --retention-days DAYS
-
停止已启动的服务,命令如下:
gs_dbmind service stop -c confpath
更多示例请参见慢SQL诊断功能介绍与测试。
297.4 获取帮助
模块命令行说明:
gs_dbmind component slow_query_diagnosis --help
usage: [-h] -c DIRECTORY [--query SLOW_QUERY]
[--start-time TIMESTAMP_IN_MICROSECONDS]
[--end-time TIMESTAMP_IN_MICROSECONDS] [--retention-days DAYS]
{show,clean}
Slow Query Diagnosis: Analyse the root cause of slow query
positional arguments:
{show,clean} choose a functionality to perform
optional arguments:
-h, --help show this help message and exit
-c DIRECTORY, --conf DIRECTORY
set the directory of configuration files
--query SLOW_QUERY set a slow query you want to retrieve
--start-time TIMESTAMP_IN_MICROSECONDS
set the start time of a slow SQL diagnosis result to
be retrieved
--end-time TIMESTAMP_IN_MICROSECONDS
set the end time of a slow SQL diagnosis result to be
retrieved
--retention-days DAYS
clear historical diagnosis results and set the maximum
number of days to retain data
297.5 命令参考
表 1 gs_dbmind component slow_query_diagnosis 命令行说明
参数 | 参数说明 | 取值范围 |
---|---|---|
-h, --help | 帮助命令 | - |
action | 动作参数 | show:结果展示clean:清理结果diagnosis:交互诊断 |
-c,--conf | 配置目录 | - |
--query | 慢SQL文本 | * |
--start-time | 显示开始时间的时间戳,单位毫秒;或日期时间格式为 %Y-%m-%d %H:%M:%S. | 正整数或日期时间格式 |
--end-time | 显示开始时间的时间戳,单位毫秒;或日期时间格式为 %Y-%m-%d %H:%M:%S. | 正整数或日期时间格式 |
--retention-days | 清理天数及结果 | 实数(当其小于等于0时,会将结果全部删除) |
297.6 常见问题处理
- 如果用户对没有执行过的慢SQL执行交互式诊断命令,则无法给出诊断结果。
- exporter指标采集功能没有启动时运行慢SQL诊断功能,此时功能无法正常运行。
- 配置文件中的参数重新设置后,需要重新启动服务进程才能生效。
- 使用慢SQL的交互诊断功能时,工具基于RPC和数据采集服务获取必要的数据,因此如果RPC和数据采集服务没启动则无法诊断。
- 在使用diagnosis功能进行交互诊断时,工具会对输入的SQL,database进行检测,如果发现属于非法输入则无法诊断。
- 慢SQL诊断中,SMALL_SHARED_BUFFER需要采集相关表的字段信息,因此用户需要注意确保opengauss_exporter连接用户具有该表所在schema的权限。
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!