TiDB 新朋友 DBdoctor
作者: ShawnYan 原文来源:https://tidb.net/blog/00761f61
TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 协议和 MySQL 生态等重要特性。
DBdoctor 简介
DBdoctor 是一款内核级数据库性能诊断软件。针对数据库性能诊断门槛高、耗时长的问题,提供快速易用的解决方案,深入到数据库内核,实时海量数据分析,提供精准的诊断分析和优化建议。
DBdoctor 提供的服务主要有:SQL 审核、实例巡检、性能洞察、锁透视、根因诊断、审计日志、基础监控、索引推荐、存储分析、参数推荐、Dashboard 大盘等。
目前,DBdoctor 支持纳管的数据库有:
MySQL
PostgreSQL
Oracle
MariaDB
TDSQL
DM8
AntDB
GoldenDB
OceanBase (DBdoctor v3.1.1)
PolarDB-X (DBdoctor v3.1.1)
Highgo (DBdoctor v3.2.1)
Kingbase (DBdoctor v3.2.1)
SQL Server (DBdoctor v3.2.2)
Vastbase (DBdoctor v3.2.2)
GBase 8a (DBdoctor v3.2.3)
TiDB (DBdoctor v3.2.4)
DBdoctor 本地部署
这里简单介绍如何在本地部署 DBdoctor 单机版,以快速体验其特性。
访问 DBdoctor 官网 https://www.dbdoctor.cn/product/11,点击免费下载。
当前最新版本为 10 月 15 日发布的 DBdoctor v3.2.4。
DBdoctor 3.2.4 版本支持 PostgreSQL(12/13/14) 无符号表场景下开启锁分析。利用 AI 和 DBA 的丰富经验,推荐出最佳参数设置,并提供性能提升的具体比例。支持 OceanBase、SQL Server 的审计日志功能和 MySQL、PostgreSql、Oracle、SQL Server 在无审计日志场景下的锁分析功能。新增对 TiDB 数据库的纳管支持,并优化 OceanBase 的纳管过程,支持系统 / 用户租户维度的纳管操作。
解压缩安装包,进入解压后的根目录,执行 ./dbd -I
进行 DBdoctor 零依赖快速安装。
安装成功后会打印访问地址:
登录网站可以看到 DBdoctor 会默认启动一个 Demo 实例 (MySQL),便于快速体验。
你也可通过 DBdoctor 微信公众号申请在线试用账号。
DBdoctor 在线试用环境地址:https://demo.dbdoctor.cn
DBdoctor 两步纳管 TiDB
DBdoctor v3.2.4 版本新增了对 TiDB 数据库的支持:支持 TiDB 的 SQL 审核、实例巡检、性能分析、根因诊断、基础监控功能。
DBdoctor 通过连接 TiDB Server 节点来统一管理 TiDB 数据库,并自动检测所有 TiDB Server 节点。为了简化部署和维护,每个 TiDB Server 节点的主机只需部署一个 Agent(可自动部署),即可实现对整个集群的监控和管理。
在 TiDB 中创建访问账号
在 DBdoctor 页面纳管 TiDB 集群
点击【实例列表】>>【实例纳管】,在【类型】下拉框中选中【tidb】引擎类型;填写 TiDB 数据库的访问地址、账号以及密码等基本信息;点击【check】按钮,检查实例数据库是否连接正常,检查通过则会在纳管界面展示所有节点信息;录入 TiDB server 所在主机的账号信息,默认自动安装 Agent,也可手动安装,DBdoctor 提示了安装命令,一键复制后,在目标机执行即可。连通性检测通过后,点击提交后即可成功纳管 TiDB 数据库。
DBdoctor 采集 TiDB 指标
DBdoctor 支持采集主机实例的相关资源性能数据、锁以及审核日志,用于洞察引起 CPU 异常、IO 异常等性能问题根因 SQL。
目前有三种采集方式:Agent 采集方式;Prometheus 采集方式;无 Agent 采集方式。
不过当前版本尚不支持 Prometheus 采集方式,推荐使用 Agent 采集方式。
DBdoctor 支持 TiDB 的 SQL 审核、实例巡检、性能洞察、根因诊断、基础监控功能。
SQL 审核:支持人工审核、慢 SQL 审核、全量 SQL 审核以及 OpenAPI 审核方式,可实现对增量 SQL 以及线上 SQL 的全生命周期闭环质量管理。支持批量上传 SQL 文件,在开发阶段即可完成 SQL 审核,提前识别 SQL 问题,同时针对线上存量 SQL 也可以实时抓取进行审核。
深度巡检与报表:支持自动巡检及手动巡检两种巡检方式,可以及时发现数据库在配置、性能、资源等方面的问题,保证数据库服务的稳定。
性能洞察:性能洞察界面中展示各资源使用率、业务流量以及数据库的平均活跃会话情况。基于数学模型精准定位,自动框选异常时间区间并提示根因 SQL,单条 SQL 资源可量化,把资源消耗映射为颜色面积,直观定位数据库性能问题并给出优化建议。
根因诊断:可直观汇总展示实例中存在性能问题的所有 SQL,点击单个 SQL 会展示异常问题现象、详细的根因推导过程,并给出最佳优化建议。
基础监控:通过基础监控,可以实时查看该数据库中关于数据库与主机资源、内存、表文件、不同类型请求和事件耗时情况相关的监控指标。
更多信息参考:DBdoctor 快速纳管 TiDB 数据库
基础监控
下面详细列出【基础监控】的【TiDB OPS】和【TiDB Duration】统计指标,以供参考。
TiDB OPS 请求分析统计监控项
Failed Query / 每秒错误请求数:每个 TiDB 实例上,每秒钟执行 SQL 语句发生错误按照错误类型的统计(例如语法错误、主键冲突等)
TPS / 每秒事务数:每秒事务执行数量统计
KV Cmd OPS / 每秒 KV 命令数:KV 命令执行数量统计
TiClient Region Error OPS / 每秒 TiKV 返回 Region 相关错误信息的数量:TiKV 返回 Region 相关错误信息的数量
Lock Resolve OPS / 每秒 TiDB 清理锁操作的数量:TiDB 清理锁操作的数量。当 TiDB 的读写请求遇到锁时,会尝试进行锁清理
TiDB Duration 各类事件耗时情况统计
客户端网络请求发送到 TiDB,到 TiDB 执行结束后返回给客户端的时间。一般情况下,客户端请求都是以 SQL 语句的形式发送,但也可以包含 COM_PING、COM_SLEEP、COM_STMT_FETCH、COM_SEND_LONG_DATA 之类的命令执行的时间
由于 TiDB 支持 Multi-Query,因此,可以接受客户端一次性发送的多条 SQL 语句,如:select 1; select 1; select 1;。此时,统计的执行时间是所有 SQL 执行完之后的总时间
Duration / 平均耗时:执行的时间
Transaction Duration / 事务平均耗时:事务执行的时间
KV Cmd Duration / 平均 KV 命令耗时:KV 命令执行的时间
PD TSO Wait Duration / TiDB 等待从 PD 获取 TS 的平均耗时:TiDB 等待从 PD 获取 TS 的时间
Load Schema Duration / TiDB 从 TiKV 获取 Schema 的平均耗时:TiDB 从 TiKV 获取 Schema 的时间
KV Backoff OPS / 每秒 TiKV 返回错误信息的数量:TiKV 返回错误信息的数量
Slow Query Duration / 慢查询的平均耗时:慢查询的处理时间(整个慢查询耗时、Coprocessor 耗时、Coprocessor 调度等待时间),慢查询分为 internal 和 general SQL 语句
Connection Idle Duration / 空闲连接的平均持续时间:空闲连接的持续时间
Parse Duration / SQL 语句解析平均耗时:SQL 语句解析耗时统计
Compile Duration / SQL AST 编译成执行计划的平均耗时:将解析后的 SQL AST 编译成执行计划的耗时
Execution Duration / 执行 SQL 语句执行计划平均耗时:执行 SQL 语句执行计划耗时
感谢 DBdoctor 小助手和胡 xf 老师的技术支持👍🏻
Have a nice day ~
🌻 往期精彩 ▼
-- / END / –
👉 这里可以找到我
微信公众号:少安事务所
ITPUB:@少安事务所
TiDB 专栏:@ShawnYan
👉 这里有得聊
如果对国产基础软件(操作系统、数据库、中间件)感兴趣,可以加群一起聊聊。
如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!ღ( ´・ᴗ・` )~
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/0c0e25b437646f25075b3fd92】。文章转载请联系作者。
评论