暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DBdoctor 产品功能介绍

DBdoctor 2024-12-16
259

DBdoctor是一款企业级数据库SQL审核、性能诊断与优化平台。产品提供了“Dashboard”概览页面,用户能够快速了解数据库的性能状态、异常问题分布情况以及数据库潜在的异常SQL等信息。并且针对已纳管的数据库,按照事件的先后顺序,DBdoctor提供事前诊断、实时诊断实例调优三大类功能。

DBdoctor概览

租户项目下所有数据库实例的性能汇总概览。

事前诊断

1.SQL审核
支持人工审核、慢SQL审核、全量SQL审核以及OpenAPI审核方式,可实现对增量SQL以及线上SQL的全生命周期闭环质量管理。支持批量上传SQL文件,在开发阶段即可完成SQL审核,提前识别SQL问题,同时针对线上存量SQL也可以实时抓取进行审核。

SQL审核包括传统的规则审核和DBdoctor特有的SQL性能审核:

•SQL规则审核:内置SQL规范和专家经验规则,从SQL语法上进行识别潜在问题并提示;
•SQL性能审核:无需生产发布和变更,可以提前评估出SQL在未来上线后的性能问题并推荐全局最优索引(该能力目前是数据库行业独有能力)

SQL审核有以下4种审核方式:

•人工审核:  在左侧数据库中选中具体的库名后,输入SQL或者上传需要审核的sql文件,点击"审核"即可。
任务详情包含详情、概览与审核SQL三部分:
(1)通过详情可以了解整个审核任务的执行进度、状态、时间等信息;
(2)通过概览可以看到整个审核任务的问题分布以及问题详情;

(3)审核SQL中可以看到具体每一条SQL的问题详情。

审核结果包含SQL索引代价评估与问题分析两部分:
(1)问题分析对该SQL存在的问题进行了详细的说明并给出优化建议;
(2)SQL索引代价评估是通过自研Cost优化器给出了各个索引的性能分析结果,并基于此推荐了最优索引。
 
•全量SQL审核:全量SQL审核可以自动抓取已纳管实例的sql指纹纬度的全量SQL并进行审核。针对审核处需要添加索引的SQL,一旦添加指定索引系统可自动确认已修复,同时支持人工确认已修复。

•慢SQL审核:可用于线上环境,自动审核线上已有问题SQL,保证线上稳定

•OpenAPI审核:支持第三方系统直接通过HTTP接口的方式对接DBdoctor的SQL审核能力
2.实例巡检

DBdoctor提供自定义策略的定时巡检和立即巡检两种模式。用户可以快速了解租户项目下的数据库实例有哪些问题,并查看详细巡检报告。针对巡检报告中的性能异常项可使用性能洞察功能还原异常时刻现场,快速找到异常根因并给出最佳优化建议。

巡检报告包含以下内容:

• 巡检总览包含巡检得分、性能问题的汇总统计(异常总数,资源问题、配置问题、锁问题、资源异常等问题的数量)
健康状况概要:包含CPU、IO、连接数、存储空间的当前使用率、最大使用率、平均使用率、最小使用率
• SQL性能问题
◦汇总展示锁等待、长事务、未提交事务、死锁、IO异常等性能问题在各个时间段出现次数的分布情况
◦资源类异常:包含CPU异常、IO异常、流量突增、存储异常的出现次数、问题举例、根因SQL、问题分析和修复建议
◦锁问题:包含锁等待、长事务、未提交事务、死锁、元数据锁的出现次数、问题举例、根因SQL、问题分析和修复建议
• 配置问题包含配置类巡检项的巡检结果和修复建议
• 资源问题包含资源类巡检项的巡检结果和修复建议

• 性能趋势包含内存、diskIO、会话、空间变化的性能趋势

3.SQL窗口
SQL窗口提供了SQL的在线执行功能,支持SQL的查询、查看执行计划、导出查询结果,支持库、schema、表级别的查询和下载权限控制,并记录了每一条SQL语句的执行历史,确保回溯问题无死角。

实时诊断

1.性能洞察
通过数学模型精准定位,打破基于经验、规则、阈值诊断的传统,真正实现单条SQL资源量化,把资源消耗映射为颜色面积,直观定位数据库性能问题并给出优化建议。
性能洞察包含了资源使用率、业务流量、Average Active Session(AAS,即平均活跃会话)曲线,同屏展示同三者的关联关系。通过三步快速定位性能问题:
(1)在资源使用率曲线拖拽选择问题发生的时间区间
(2)在AAS曲线上找出面积最大的颜色

(3)在SQL关联分析中匹配颜色最多的SQL


此外,DBdoctor还具备问题主动识别的能力。通过特征值检测算法,自动识别到发生性能异常的时间段,并且在性能洞察曲线中,以红色区块进行特殊标识。通过弹出的悬浮窗可以看到该异常时间段内所有的根因SQL列表卡片。

2.锁透视
涵盖锁等待、死锁、长事务、未提交事务四大锁场景;通过环形图和泳道图方式直观的慢动作回放事务SQL的完整执行过程,并按照事务执行时序高亮标识数据库内核详细加锁和等锁事件,慢动作回放问题现场,快速找到问题源头。
• 锁等待:展示数据库实际内核等锁耗时超过1s的SQL
• 死锁:由于两个或多个进程或线程在执行过程中因为竞争资源而互相等待,进程都无法执行形成的死锁
• 未提交事务:未提交事务的出现往往是由于业务代码逻辑问题在一些极端场景等事务未正常进行关闭(Sleep状态大于10秒的定义为未提交事务)。未正常关闭事务会导致锁占用不释放,可能会导致业务正常事务获取不到锁超时等问题
• 长事务:长事务的出现往往是由于事务中存在慢SQL导致,该SQL一直处于执行中但执行时间比较长(执行耗时超过10s定义为长事务)


3.根因诊断

根因诊断直接展示该实例在选定时间段内存在的问题根因SQL指纹,并会详细描述该SQL导致的问题现象,同时可以记录该SQL指纹在数据库里造成的每一次异常。


4.审计日志
提供审计日志的检索功能和审计日志统计分析两大能力。基于eBPF技术采集数据库的实例的审计日志,并对SQL进行聚类分析,展示每类SQL语句的请求次数、耗时与来源。可通过与性能洞察结合进行审计日志查看,快速还原数据库异常时间问题现场。
• 日志分析:(1) 可根据库、表维度对日志进行检测分析;(2) 可点击“查看IP分布”查看IP分布情况
• 日志列表:(1)可根据时间、库、表、源IP、Connection ID等条件来进行检索
 

5.基础监控

基础监控提供覆盖主机、进程、数据库状态等不同维度的监控指标。

6.慢SQL治理
统计当前实例指定时间范围内慢SQL统计、慢SQL趋势,同时可针对指定慢SQL进行分析,获取SQL最差样本以及执行计划、索引推荐、sql审核等信息。主要包含以下功能:
慢SQL趋势:统计指定时间内慢SQL趋势,可结合CPU利用率、IO利用率、内存利用率进行统计
慢SQL耗时统计统计指定时间内,慢SQL时间分布,分1-3s、3-5s、5-10以及10s以上数据统计

慢SQL列表 按SQL指纹进行汇总统计,可查看指定时间访问内执行次数、平均执行时间、最大执行时间、平局锁等待时间、最大锁等待时间、总耗时

通过点击SQL列表中SQL分析按钮,可进入SQL分析详情页。该样本为当前SQL指纹的最差样本,详情页展示出该样本的执行计划、索引代价评估和问题分析。 

7.实时会话
展示出数据库的实时会话列表,并进行多维度统计,还可直接kill指定会话等操作。

实例调优

1.索引推荐
性能问题SQL自动识别,并进行索引优化推荐。对需要进行索引优化的库表,统一展示建议执行的优化DDL,并且给出每条待优化SQL的问题分析以及详细建议。
• 优化信息概览:汇总展示指定时段内所有需要优化的库表,以及对每个库表建议执行的优化DDL (可直接查看当前表结构)

• 优化信息详情:显示具体的每条待优化SQL,以及该SQL导致的问题、优化建议等。点击 “查看优化推导过程”后,可直接查更详细的推导过程

2.存储分析
通过存储分析功能可以直观地查看某个数据库实例的存储使用概况、未来使用趋势预测。可以查看数据库中出现存储异常情况,以及对应的问题分析及修复建议。
• 磁盘使用率:展示指定时间段内磁盘实际使用情况,并且展示对未来一段时间内使用趋势的预测
• 库表空间使用概况:展示异常问题次数/磁盘空间日增长量/磁盘空间可用天数/磁盘已用空间大小
• 异常分析列表:显示所有出现存储异常的记录
• 未来趋势预测:按照当前指标数据,预测未来两天的空间变化,通过趋势图展示,并且对问题风险给出建议

3.参数推荐

通过收集数据库指标,分析数据库运行特征,利用AI算法结合专家经验推荐适合的参数,从而提升数据库的性能。

参数推荐配置:用户手动设置数据库参数值范围

参数推荐列表:基于参数推荐配置的范围,结合AI算法与专家经验推荐适合的参数值,并提示调整后的性能提升比例

4.参数管理
快速感知并发现数据库配置项的变更历史,识别配置项的变更是否会造成数据库异常。


1️⃣免费下载  一键部署:
https://www.dbdoctor.cn/?utm=01

2️⃣在线试用  立即体验:

试用地址 https://demo.dbdoctor.cn
(无需下载安装,点击公众号菜单栏【产品服务-在线试用】即可获取试用环境专属账号密码
3️⃣产品文档:
https://demo.dbdoctor.cn/modules/dbDoctor/mdPreview/index.html?readme=help#/

文章转载自DBdoctor,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论