首页 > 数据库 >NineData慢查询分析功能:为DBA提供全面的数据库性能解决方案

NineData慢查询分析功能:为DBA提供全面的数据库性能解决方案

时间:2023-12-13 15:33:59浏览次数:35  
标签:NineData DBA 数据源 数据库 查询 SQL

对于一个 DBA 来说,从公司数据库系统的稳定程度可以看出他的能力几何,一个优秀的 DBA 不仅要保证数据库的稳定运行,还需要有能力有效处理数据库的各种突发性能问题,而最常见的性能问题,就是慢查询。

我们公司规模比较大,大大小小的项目加起来超过 100 个数据库实例,而保证这些数据库的稳定运行的重任,全部在我这里,每天都需要事无巨细地逐个排查所有问题,这是一项相当艰巨的任务,出点差错是常事,造成的影响不大还好说,如果涉及到企业利益,那就祈祷下一家公司没有那么多数据库吧。

太难了

由于每个数据库实例中都存在不少的慢查询问题,靠我人肉排查显然不太现实,在尝试了很多种自动化工具之后,终于艰难玉成,让我找到一款完美解决我问题的工具:NineData 的慢查询分析功能。它可以自动采集并记录数据库中的所有慢查询,比较亮眼的是它通过对每一条慢查询进行性能诊断,最终提供优化建议,包含添加或修改索引、调整表结构等,同时还可以根据业务类型配置 SQL 开发规范,配置完成后,系统还会基于这些规范诊断慢 SQL。

废话不多说,直接上图。

慢查询趋势图

这是单个数据源维度的慢查询趋势图,首先能看到一个时间范围内的慢查询总量,然后可以清晰看到 12 月 8 日那天产生了很多慢查询,鼠标悬浮在曲线上可以看到详情。

NineData慢查询趋势图

慢查询统计

显示该数据库在某个阶段产生的所有慢查询的详情信息。SQL 模版表示不包含具体参数的 SQL 框架,所有使用了相同 SQL 模版的慢查询都会被记录在一个模版下,展开模版可以看到所有慢 SQL 语句,包含的信息也是非常丰富,例如执行时长、查询时间、执行查询的用户、主机名称等等。

NineData慢查询统计

诊断优化

针对慢查询的 SQL 语句进行性能诊断,性能诊断的结果包含执行时间过长、有效读较低、等待时间占比偏高、缓存命中率低下等;规范审核基于管理员配置的 SQL 开发规范对 SQL 语句进行审核;索引建议基于 CBO 成本代价模型提供索引推荐,帮助 DBA 轻松优化数据库性能。

NineData诊断优化

这个工具,对于我来说简直就是久旱逢甘霖,DBA 需要的功能,它都有了,像我这种每天加班到 22 点以后的社畜,最近也开始准点下班了。

开始准点下班了

最新更新

就在近期,他们又针对慢查询分析功能发布了数据大盘和报表下载功能。

前面说过公司有 100 多个数据库实例,并且每个实例的慢查询数量都很多...那么问题来了,如果我要治理慢查询,就需要先一个一个数据源点开,找到需要治理的数据源,再进行治理,非常费劲,而这个数据大盘,则是点睛之笔!

慢查询大盘

支持按数据源、环境、标签、数据源类型进行查看,哪个数据源产生的慢查询最多一目了然。

NineData慢查询大盘

TOP 100 数据源

由高到低展示前 100 个慢查询数量最多的数据源,单击详情即可快捷进入该数据源的慢查询页面实施治理,非常方便。

NineData显示TOP 100数据源

报表下载

这个功能在我需要将优化需求提交给开发人员的时候非常有用,在数据源慢查询详情页中可将目标时间段的所有慢 SQL 整合到一个 PDF 文档中,其中包含了所有需要整改的详情信息,以便开发人员对照优化。

NineData生成慢SQL报表下载

后记

自从用了这个工具,我每天早上来到公司,慢悠悠泡一杯咖啡,然后打开电脑登录到 NineData 的控制台,查看一下前一天的慢查询报告,几分钟后,我就全面了解到了我们公司数据库这几天的整体状况,直接就可以投入到更加核心的整改工作中,而不用和以前一样花费大量的时间和精力去排查问题了,工作效率提升非常明显。

最重要的是,这款工具的可靠性非常高,通过几天的使用,没有发生任何遗漏,每一个细小的点都会被它捕捉并呈现,老板再也不用斥巨资招 N 个 DBA 处理这些问题,终于不用再卷了。

标签:NineData,DBA,数据源,数据库,查询,SQL
From: https://www.cnblogs.com/ninedata/p/17899147.html

相关文章

  • 2023年11月国产数据库大事记-墨天轮
    本文为墨天轮社区整理的2023年11月国产数据库大事件和重要产品发布消息。目录11月国产数据库大事记TOP1011月国产数据库大事记(时间线)产品/版本发布兼容认证代表厂商大事记厂商活动排行榜新增数据库11月国产数据库大事记TOP10 11月国产数据库大事记(时间线)11月1......
  • SQLServer数据库JDBC连接串参数的简单学习
    SQLServer数据库JDBC连接串参数的简单学习背景前段时间一直跟同事一起处理SQLServer比其他数据库的deadlock更多的问题.涉及到了几个驱动的参数.想着问题基本上告一段落,将这一块的情况总结一下.便于后续遇到问题时的快速处理.关于参数现阶段的字符连接串为:jdbc:s......
  • MySQL 可以针对表级别设置数据库引擎吗?怎么设置?
    可以针对不同的表设置不同的引擎。在createtable语句中使用engine=引擎名(比如Memory)来设置此表的存储引擎。完整代码如下:createtablestudent(idintprimarykeyauto_increment,usernamevarchar(120),ageint)ENGINE=MemoryMySQL可以针对每个表进行独立的存储引擎......
  • 请问数据库的完全备份包括对事务日志的备份吗?还是只包含数据文件的备份??差异备份包括对
    原文链接:http://www.mobiletrain.org/about/BBS/115022.htmlhttps://zhidao.baidu.com/question/1840172558963046980.html 完全备份(Fullbackup):完全备份是指备份整个数据库的操作,包括数据文件、日志文件和其他重要的数据库组件,通常用于创建数据库的初始备份或定期备份。差......
  • 用python实现电子公文传输系统中遇到的数据库连接问题
    在实现电子公文传输系统时,数据库连接是一个重要的问题。Python中有多种库可以用于数据库连接,比如SQLite、MySQL、PostgreSQL等。下面是一个简单的示例,演示如何使用Python连接MySQL数据库:importmysql.connector#连接数据库conn=mysql.connector.connect(host="localhos......
  • C# 从代码入门 Mysql 数据库事务
    目录生成数据库数据Mysql数据库事务基础数据库的并发一致性问题数据库事务的隔离级别BeginTransaction()和TransactionScope的区别BeginTransaction()可以不手动撤销TransactionScope总结DML是否可以使用事务顺序多操作嵌套事务事务范围封装DbContextTransactionScopeBeginT......
  • 向量数据库 及 LangChain 用法
    当今科技领域的发展日新月异,向量数据库成为了热门的话题之一。这些数据库以其高效的向量检索和相似度搜索功能,为各种应用场景提供了强大的支持。本文旨在汇总向量数据库Milvus、Zilliz、Faiss、Qdrant、LlamaIndex、Chroma、LanceDB、Pinecone、Weaviate、 基本介绍1.Milv......
  • 人大金仓数据库 生成时间列表
      SELECTto_char(generate_series('2024-12-01'::DATE,'2024-12-31'::DATE,'2day'),'YYYY-MM-DD')ASdate;SELECTto_char(generate_series('2024-12-1200'::DATETIME,'2024-12-1......
  • openGauss学习笔记-154 openGauss 数据库运维-备份与恢复-闪回恢复
    openGauss学习笔记-154openGauss数据库运维-备份与恢复-闪回恢复闪回恢复功能是数据库恢复技术的一环,可以有选择性的撤销一个已提交事务的影响,将数据从人为不正确的操作中进行恢复。在采用闪回技术之前,只能通过备份恢复、PITR等手段找回已提交的数据库修改,恢复时长需要数分钟甚......
  • openGauss学习笔记-155 openGauss 数据库运维-备份与恢复-导出数据-使用gs_dump和gs_d
    openGauss学习笔记-155openGauss数据库运维-备份与恢复-导出数据-使用gs_dump和gs_dumpall命令导出数据-概述155.1概述openGauss提供的gs_dump和gs_dumpall工具,能够帮助用户导出需要的数据库对象或其相关信息。通过导入工具将导出的数据信息导入至需要的数据库,可以完成数据库......