0
点赞
收藏
分享

微信扫一扫

openGauss学习笔记-297 openGauss AI特性-AI4DB数据库自治运维-DBMind的AI子功能-慢SQL根因分析

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的权限。

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

图片

举报

相关推荐

0 条评论