openGauss AI特性指南:AI4DB: 慢SQL根因分析

概述

慢SQL一直是数据运维中的痛点问题,如何有效诊断慢SQL根因是当前一大难题,工具结合openGauss自身特点融合了现网DBA慢SQL诊断经验,支持慢SQL根因分析,能同时按照可能性大小输出多个根因并提供针对性的建议。

环境部署

  • 数据库运行正常。
  • 指标采集系统(即openGauss exporter、reprocessing exporter以及node exporter)运行正常。

使用指导

假设用户已经初始化配置文件目录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诊断功能介绍与测试

获取帮助

模块命令行说明:

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

 

 

命令参考

表 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时,会将结果全部删除)

 

常见问题处理

  • 如果用户对没有执行过的慢SQL执行交互式诊断命令,则无法给出诊断结果。
  • exporter指标采集功能没有启动时运行慢SQL诊断功能,此时功能无法正常运行。
  • 配置文件中的参数重新设置后,需要重新启动服务进程才能生效。
  • 使用慢SQL的交互诊断功能时,工具基于RPC和数据采集服务获取必要的数据,因此如果RPC和数据采集服务没启动则无法诊断。
  • 在使用diagnosis功能进行交互诊断时,工具会对输入的SQL,database进行检测,如果发现属于非法输入则无法诊断。
  • 慢SQL诊断中,SMALL_SHARED_BUFFER需要采集相关表的字段信息,因此用户需要注意确保opengauss_exporter连接用户具有该表所在schema的权限。

 

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值