TiDB Dashboard 实例性能分析 - 持续分析页面
持续性能分析是 TiDB v5.3.0 引入的一种从系统调用层面解读资源开销的方法。引入该方法后,TiDB 可提供数据库源码级性能观测,通过火焰图的形式帮助研发、运维人员定位性能问题的根因。
该功能以低于 0.5% 的性能损耗,对数据库内部运行状态持续打快照(类似 CT 扫描),让原本“黑盒”的数据库变成“白盒”,具备更高的可观测性。该功能一键开启后自动运行,存储结果提供了保留时长的设定,过期的结果将会被回收,确保存储空间的有效利用。
使用限制
使用持续性能分析时,应留意如下使用限制:
该功能可在 x86 架构下支持 TiDB、TiKV、PD ,暂不支持 TiFlash;而在 ARM 框架下还未完全兼容,不可开启。
该功能暂时只用于使用 TiUP 部署和升级的集群,不支持 TiDB Operator 或二进制包部署和升级的集群。
分析内容
持续性能分析允许用户在不重启的情况下持续收集 TiDB、TiKV、PD 各个实例的性能数据,并且持久监控节点。收集到的性能数据可显示为有向无环图,直观展现实例在性能收集的时间段内执行的各种内部操作及其比例,方便用户快速了解该实例 CPU 资源消耗细节。目前支持的性能信息:
- TiDB/PD: CPU profile、Heap、Mutex、Goroutine(debug=2)
- TiKV: CPU Profile
启用持续性能分析
启用持续性能分析,需要首先检查 TiUP 版本信息,然后配置中控机和 TiDB Dashboard 相关参数。
检查版本
检查 TiUP Cluster 版本,若版本低于 1.7.0,则需要先升级 TiUP Cluster。
检查 TiUP 版本:
tiup cluster --version上述命令可查看 TiUP 的具体版本。显示为:
tiup version 1.7.0 tiup Go Version: go1.17.2 Git Ref: v1.7.0若低于 v1.7.0,需要先升级 TiUP Cluster。
升级 TiUP 和 TiUP Cluster 版本至最新。
升级 TiUP:
tiup update --self升级 TiUP Cluster:
tiup update cluster
升级后,完成启动前检查。
配置中控机和 TiDB Dashboard
在中控机上,通过 TiUP 添加 ng_port 配置项,并对 Prometheus 节点进行 reload 操作。
使用集群中控机,使用 TiUP 工具,以编辑模式打开该集群的配置文件:
tiup cluster edit-config ${cluster-name}设置参数,在 monitoring_servers 下面增加 “ng_port:${port}”:
monitoring_servers: - host: 172.16.6.6 ng_port: ${port}重启 Prometheus 节点:
tiup cluster reload ${cluster-name} --role prometheus
重启后,完成中控机所需的操作。
启用持续性能分析。
- 进入 TiDB Dashboard,选择高级调试 (Advanced Debugging) > 实例性能分析 (Profile Instances) > 持续分析 (Continuous Profile)。
- 点击打开设置 (Open Settings)。在右侧设置 (Settings) 页面,将启用特性 (Enable Feature) 下方的开关打开。设置保留时间 (Retention Period) 或保留默认值。
- 点击保存 (Save)。
访问页面
启用持续性能分析功能后,你可以通过以下任一方式访问实例性能分析页面:
登录后,左侧导航条点击高级调试 (Advanced Debugging) > 实例性能分析 (Profile Instances) > 持续分析 (Continuous Profile):
在浏览器中访问 http://127.0.0.1:2379/dashboard/#/continuous_profiling(将
127.0.0.1:2379
替换为实际 PD 实例地址和端口)。
查看性能分析历史结果
开始持续性能分析后,可以在列表中看到已经完成的性能分析结果:
性能分析会在后台运行,刷新或退出当前页面不会终止已经运行的性能分析任务。
下载性能分析结果
进入某次分析结果后,可点击右上角下载按钮 (Download Profiling Result) 打包下载所有性能分析结果:
也可以点击列表中的单个实例,直接查看其性能分析结果:
停用持续性能分析
- 进入 TiDB Dashboard,选择高级调试 (Advanced Debugging) > 实例性能分析 (Profile Instances) > 持续分析 (Continuous Profile)。
- 点击设置 (Settings),将启用特性 (Enable Feature) 下方的开关关闭。
- 在弹出的停用持续分析 (Disable Continuous Profiling Feature) 对话框中,选择停用 (Disable)。
- 点击保存 (Save)。