AI4DB:人工智能之慢SQL根因分析
AI4DB: 慢SQL根因分析
概述
慢SQL一直是数据运维中的痛点问题,如何有效诊断慢SQL根因是当前一大难题,工具结合openGauss自身特点融合了现网DBA慢SQL诊断经验,该工具可以支持慢SQL根因15+,能同时按照可能性大小输出多个根因并提供针对性的建议。
环境部署
- 数据库运行正常。
- 指标采集系统运行正常。
使用指导
假设用户已经初始化配置文件目录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
获取帮助
模块命令行说明:
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
命令参考
参数 | 参数说明 | 取值范围 |
---|---|---|
-h, –help | 帮助命令 | - |
action | 动作参数 | show:结果展示,clean:清理结果 |
-c,–conf | 配置目录 | - |
–query | 慢SQL文本 | * |
–start-time | 显示开始时间的时间戳,单位毫秒 | 非负整数 |
–end-time | 显示结束时间的时间戳,单位毫秒 | 非负整数 |
–retention-days | 清理天数级结果 | 非负实数 |
常见问题处理
- 如果用户对没有执行过的慢SQL执行交互式诊断命令,则无法给出诊断结果。
- exporter指标采集功能没有启动时运行慢SQL诊断功能,此时功能无法正常运行。
- 配置文件中的参数重新设置后,需要重新启动服务进程才能生效。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
分布式数据库--SQL优化之Plan Hint
Part 1- 关于Hint Hint是嵌入SQL语句的对优化器进行提示的信息,是DBA进行SQL优化的常用手段。SQL语句经过优化器(规则优化(RBO)、代价优化(CBO)),通常会选择正确的查询路径,但是智者千虑,必有一失,有时优化器也会选择一个很差的计划,使得该条SQL查询变得很慢,此时需要DBA人为干预(通过给SQL语句增加一个注释),告诉优化器要选择指定的访问路径(full scan、index scan)或join 类型(merge、hash、lookup),使得该条SQL语句可以高效的运行。 Part 2 - Hint的使用 通过 /*+ ... */ 的注释形式放在 SELECT 关键字之后,多个 hint 之间用逗号隔开。 例如 select /*+use_index(t, index1)*/ * from t where a = 10 and b = 20; 如下图所示,经过RBO会得到如下normalized plan,而/*+ use_index(t, index1)*/ 将作用于scan选择的过程,这将告诉优化器在选择表t的访问路径(① ② ③)时,选择...
- 下一篇
Meetup 02期回顾:Qualitis 数据质量 0.9.0版本介绍
主题:《Qualitis 数据质量 0.9.0版本介绍》 讲师:周玉壮 微众银行大数据平台工程师 GitHub:https://github.com/WeBankFinTech/Qualitis 以下内容为分享文字版本,点击阅读原文可查看完整视频 Qualitis介绍 Qualitis是一个支持多种异构数据源的质量校验、通知、管理服务的数据质量管理平台,用于解决业务系统运行、数据中心建设及数据治理过程中的各种数据质量问题。 Qualitis基于Spring Boot,依赖于Linkis进行数据计算,提供数据质量模型构建,数据质量模型执行,数据质量任务管理,异常数据发现保存以及数据质量报表生成等功能。并提供了金融级数据质量模型资源隔离,资源管控,权限隔离等企业特性,具备高并发,高性能,高可用的大数据质量管理能力。 批量计算场景数据校验 在进行检验规则的定义跟配置。我们接入数据源,根据规则模板去生成真实的好批的 SQL 去查询这些数据,看是否存在上述的这些问题。我们的批量的这个数据质量的校验是接入了 Linkis 主要使用的是 Spark 阶段引擎,由 Linux 帮我们执行,拿到质量检验...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Hadoop3单机部署,实现最简伪集群
- CentOS关闭SELinux安全模块
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2更换Tomcat为Jetty,小型站点的福音