抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

TiDB 基础使用

Database of Databases - TiDB

TiDB dashboard使用

TiDB Dashboard 是 TiDB 自 4.0 版本起提供的图形化界面,可用于监控及诊断 TiDB 集群。TiDB Dashboard 内置于 TiDB 的 PD 组件中,无需独立部署。

image-20210309181206197

集群概况

查看集群整体 QPS 数值、执行耗时、消耗资源最多的几类 SQL 语句等概况信息。

该页面显示了整个集群的概况,包含以下信息:

  • 整个集群的 QPS
  • 整个集群的查询延迟
  • 最近一段时间内累计耗时最多的若干 SQL 语句
  • 最近一段时间内运行时间超过一定阈值的慢查询
  • 各个实例的节点数和状态
  • 监控及告警信息
QPS

该区域显示最近一小时整个集群的每秒成功和失败查询数量

image-20210310134900484

注意:该功能仅在部署了 Prometheus 监控组件的集群上可用,未部署监控组件的情况下会显示为失败。

延迟

该区域显示最近一小时整个集群中 99.9%、99% 和 90% 查询的延迟:

image-20210310134921004

注意:该功能仅在部署了 Prometheus 监控组件的集群上可用,未部署监控组件的情况下会显示为失败。

Top SQL 语句

该区域显示最近一段时间内整个群集中累计耗时最长的 10 类 SQL 语句。查询参数不一样但结构一样的 SQL 会归为同一类 SQL 语句,在同一行中显示

image-20210310135140342

注意:该功能仅在开启了 SQL 语句分析功能的集群上可用。

最近的慢查询

该区域默认显示最近 30 分钟内整个集群中最新的 10 条慢查询

image-20210310135240284

默认情况下运行时间超过 300ms 的SQL 查询即会被计为慢查询并显示在该表格中。

集群信息

该页面上允许用户查看整个集群中 TiDB、TiKV、PD、TiFlash 组件的运行状态及其所在主机的运行状态。

实例列表

实例列表列出了该集群中 TiDB、TiKV、PD 和 TiFlash 组件所有实例的概况信息。

image-20210310135617023

表格列解释

表格包含以下列:

  • 地址:实例地址
  • 状态:实例的运行状态
  • 启动时间:实例的启动时间
  • 版本:实例版本号
  • 部署路径:实例二进制文件所在目录路径
  • Git 哈希值:实例二进制对应的 Git 哈希值
实例状态解释

实例的运行状态有:

  • 在线 (Up):实例正常运行。
  • 离线 (Down) 或无法访问 (Unreachable):实例未启动或对应主机存在网络问题。
  • 已缩容下线 (Tombstone):实例上的数据已被完整迁出并缩容完毕。仅 TiKV 或 TiFlash 实例存在该状态。
  • 下线中 (Offline):实例上的数据正在被迁出并缩容。仅 TiKV 或 TiFlash 实例存在该状态。
  • 未知 (Unknown):未知的实例运行状态。
主机列表

主机列表列出了该集群中 TiDB、TiKV、PD 和 TiFlash 组件所有实例对应主机的运行情况。

image-20210310135820510

表格列解释

表格包含以下列:

  • 地址:主机 IP 地址
  • CPU:主机 CPU 逻辑核心数
  • CPU 使用率:主机当前 1 秒的用户态和内核态 CPU 使用率
  • 物理内存:主机总计的物理内存大小
  • 内存使用率:主机当前内存使用率
  • 部署磁盘:主机上运行实例所在磁盘的文件系统和磁盘挂载路径
  • 磁盘使用率:主机上运行实例所在磁盘的空间使用率
SQL语句分析

该页面可以查看所有 SQL 语句在集群上执行情况,常用于分析总耗时或单次耗时执行耗时较长的 SQL 语句。

执行列表页

​ 在该页面中,结构一致的 SQL 查询(即使查询参数不一致)都会被归为同一个 SQL 语句,例如 SELECT * FROM employee WHERE id IN (1, 2, 3)select * from EMPLOYEE where ID in (4, 5) 都属于同一 SQL 语句 select * from employee where id in (...)

image-20210310140600074

执行详情页面

在列表中点击任意一行可以进入该 SQL 语句的详情页查看更详细的信息,这此信息包括三大部分:

  • SQL 语句概况:包括 SQL 模板,SQL 模板 ID,当前查看的时间范围,执行计划个数以及执行所在的数据库(下图区域 1)
  • 执行计划列表:如果该 SQL 语句有多个执行计划,则显示该列表,可以选择不同的执行计划,在列表下方会显示选中的执行计划详情;如果只有一个执行计划,则该列表不显示(下图区域 2)
  • 执行计划详情:显示选中的执行计划的详细信息,具体见下一小节(下图区域 3)

image-20210310140919328

慢查询

该页面上能检索和查看集群中所有慢查询。

​ 默认情况下,执行时间超过 300ms 的 SQL 查询就会被视为慢查询,被记录到慢查询日志中,并可通过本功能对记录到的慢查询进行查询。可调整 tidb_slow_log_threshold SESSION 变量或 TiDB slow-threshold 参数调整慢查询阈值。

​ 若关闭了慢查询日志,则本功能不可用。慢查询日志默认开启,可通过修改 TiDB 配置 enable-slow-log 开启或禁用。

慢查询列表页

可按时间范围、慢查询语句关联的数据库、SQL 关键字、SQL 类型、显示的慢查询语句数量等条件过滤,筛选慢查询句。如下所示,默认显示 30 分钟内最近 100 条慢查询。

image-20210310141242904

查看执行详情

在列表中点击任意一行可以显示该慢查询的详细执行信息,包含:

  • SQL:慢查询 SQL 文本(
  • 执行计划:慢查询的执行计划
  • 其他分类好的 SQL 执行信息

image-20210310141345490

点击展开 (Expand) 链接可以展开相应项的完整内容,点击复制 (Copy) 链接可以复制完整内容到剪贴板。

集群诊断页面

集群诊断是在指定的时间范围内,对集群可能存在的问题进行诊断,并将诊断结果和一些集群相关的负载监控信息汇总成一个诊断报告。诊断报告是网页形式,通过浏览器保存后可离线浏览和传阅。

生成诊断报告

如果想对一个时间范围内的集群进行诊断,查看集群的负载等情况,可以使用以下步骤来生成一段时间范围的诊断报告:

  1. 设置区间的开始时间
  2. 设置区间长度,例如 10 min 。
  3. 点击开始。

建议生成报告的时间范围在 1 min ~ 60 min 内,目前不建议生成超过 1 小时范围的报告。

image-20210310141645985

点击开始 (start) 后,会看到以下界面,生成进度 (progress) 是生成报告的进度条,生成报告完成后,点击查看报告 (View Full Report) 即可。

image-20210310141816552

评论