Performance Overview 面板 —— 数据库人的浪漫:原本纷繁复杂的监控数据,被化繁为简。只此青绿间,系统瓶颈,一目了然。数据库性能调优,也可以很舒心写意。
Performance Overview 面板在 TiDB v6.1.0 正式发布,为所有 TiDB 用户提供一个系统级别的总体性能诊断入口。本文详细介绍了 Performance Overview 面板的设计理念及应用实践。
本文作者:宋昱颖,PingCAP 数据库性能测试工程师,Performance Overview 面板作者之一。有 5 年的数据库性能调优和性能诊断工具的设计开发经验,目前在 PingCAP 主要负责数据库性能测试服务化建设和数据库性能调优工作。 曾在 Oracle Real-World Performance 团队担任高级数据库性能工程师。
Highlight
Performance Overview 面板,为所有 TiDB 用户提供一个系统级别的总体性能诊断入口。它是 TiDB 监控 Grafana 可视化组件中的一个新增面板,在 TiDB v6.1.0 正式发布,首次在 TiDB 中引入数据库时间的调优概念和颜色优化法。
作为 TiDB 的普通用户,我们终于不用在海量的监控数据中,苦苦挖掘自己想要用的性能指标了。Performance Overview 面板结合基于数据库时间分析法和颜色优化法,对 TiDB 的性能指标按照一种自上而下的性能分析方法论做了重新梳理并主要以青绿色系着色,为 TiDB 用户提供一个系统级别的总体性能诊断入口。只此青绿间,用户可以很直观地从颜色上一眼看到整个系统的性能瓶颈在哪里,只需 5分钟就能定位到问题的方向,数量级地缩短了性能诊断时间和减少了性能分析和诊断难度。数据库性能调优,也可以很舒心写意。
通过 Performance Overview 面板,我们建立 TiDB 性能优化的体系,并撰写了首版 TiDB 性能优化三部曲。从原理到实际案例,优化三部曲详细地介绍了 TiDB 性能诊断的方法论和 Performance Overview 面板的使用,并随 v6.1.0 发布。
一个用户的数据库时间分解图样例,远看似青峰叠嶂,绿水隐现。
透过此图,一眼可知系统负载为以读为主的读写混合负载。
用户问题
用户反馈:
- TiDB 监控数据太多,学习门槛高。
- 目前 TiDB 的 Grafana 监控面板多达十几个,主要是按 TiDB 的各个组件分类和编排,可谓十分全面。众多的指标都是 PingCAP 的研发和广大社区贡献者的心血和劳动结晶,却没有被很好的利用到性能调优工作中。究其原因,主要是众指标缺乏合理的编排而用户也缺少一种可靠的、可重复的方法论,从而导致 TiDB 性调优学习门槛很高,让用户望而生畏。
- 用户在使用 TiDB 的过程中基本只看 Dashboard 的 QPS 面板。
- 性能调优玄学化,缺乏可靠、可重复的方法论和配套的工具。
- 性能诊断耗时长,难度大,对专家依赖程度高。
解决方案
通过 Performance Overview,TiDB 落地了基于数据库时间的分析方法和颜色优化法。对于普通用户的意义在于,TiDB 性能分析和优化的难度、需要消耗的人力、对专家经验的依赖数量级的下降。