• TiDB Dashboard 实例性能分析 - 持续分析页面


    注意

    该功能面向数据库技术专家,建议非专家用户在 PingCAP 专业技术人员的指导下使用该功能。

    持续性能分析功能可以持续地收集 TiDB、TiKV、PD 各个实例的性能数据。收集到的性能数据可显示为火焰图或有向无环图形式。

    通过这些性能数据,技术专家可以分析实例的 CPU、内存等资源消耗细节,帮助解决诸如某一时刻 CPU 开销较高、内存占用较大、进程不明原因卡死等复杂问题。即使这类问题无法得到复现,技术专家也可以通过查看当时记录下的历史性能数据,还原问题现场,对当时的问题进行细致分析,从而有效缩短平均故障恢复时间。

    与手动性能分析的区别

    持续性能分析是手动性能分析的强化功能,它们都能用于收集和分析各个实例不同维度的性能数据,主要区别如下:

    • 手动性能分析仅在用户发起分析的时刻收集一小段时间(如 30 秒)的性能数据,持续性能分析开启后会持续收集性能数据。
    • 手动性能分析只能用于分析集群当前的问题,持续性能分析既可以用于分析集群当前问题,也可以分析集群历史问题。
    • 手动性能分析允许仅收集特定实例的特定性能数据,持续性能分析会收集所有实例的所有性能数据。
    • 由于持续性能分析存储了更多性能数据,因此会占用更大的磁盘空间。

    支持的性能数据

    所有手动性能分析中的性能数据都会在该功能中收集:

    • CPU:TiDB、TiKV、TiFlash、PD 实例上各个内部函数的 CPU 开销情况

    • Heap:TiDB、PD 实例上各个内部函数的内存占用开销情况

    • Mutex:TiDB、PD 实例上各个处于等待状态的 Mutex 情况

    • Goroutine:TiDB、PD 实例上各个 Goroutine 的运行状态及调用栈情况

    访问页面

    你可以通过以下任一方式访问持续性能分析页面:

    • 登录后,在左侧导航栏中点击高级调试 (Advanced Debugging) > 实例性能分析 (Profiling Instances) > 持续分析 (Continuous Profiling)。

    • 在浏览器中访问 http://127.0.0.1:2379/dashboard/#/continuous_profiling(将 127.0.0.1:2379 替换为实际 PD 实例地址和端口)。

    启用持续性能分析

    注意

    要使用持续性能分析,你需要使用 TiUP(v1.9.0 及以上版本)或 TiDB Operator(v1.3.0 及以上版本)部署或升级集群。如果你已经使用旧版本 TiUP 或 TiDB Operator 进行了集群升级,请参见 FAQ 进行处理。

    从 TiDB v6.1.0 开始,持续性能分析默认处于开启状态。该功能启用后,TiDB Dashboard 会在后台持续收集性能数据,用户无需保持网页处于打开状态。后台收集的性能数据可设置保留时长,超过保留时长的性能数据将会被自动清理。

    你可以通过以下步骤启用该功能:

    1. 访问持续性能分析页面
    2. 点击打开设置 (Open Settings)。在右侧设置 (Settings) 页面,将启用特性 (Enable Feature) 下方的开关打开。设置保留时间 (Retention Period), 默认值为 3 天。
    3. 点击保存 (Save)。

    查看集群当前性能数据

    在已经启用了持续性能分析的集群上,手动性能分析不再可用。若要查看当前时刻集群性能数据,请点击最近一次分析结果。

    查看集群历史性能数据

    你可以在列表中看到自启用该功能以来所有自动收集的性能数据:

    下载性能数据

    进入某次分析结果后,可点击右上角下载按钮 (Download Profiling Result) 打包下载所有性能数据:

    也可以点击列表中的单个实例查看其性能数据,或者悬浮在 ... 按钮上下载原始数据:

    停用持续性能分析

    你可以通过以下步骤停用该功能:

    1. 访问持续性能分析页面
    2. 点击右上角齿轮按钮打开设置界面,将启用特性 (Enable Feature) 下方的开关关闭。
    3. 点击保存 (Save)。
    4. 在弹出的关闭持续分析功能 (Disable Continuous Profiling Feature) 对话框中,点击确认 (Disable)。

     

    常见问题

    1. 界面上提示“集群中未启动必要组件 NgMonitoring”无法启用功能

    请参见 TiDB Dashboard FAQ

    2. 该功能开启后对集群是否有性能影响?

    依据测试结果,该功能开启后对集群的平均性能影响小于 1%。

    3. 该功能目前是什么状态?

    该功能是正式特性,在生产环境中可用。

  • 相关阅读:
    向量数据库:Milvus
    信创就用国产的 Solon Java Framework,v2.6.0 发布
    不要再用if-else
    docker 和k8s 入门
    关于torch.cat()和torch.stack()的区别
    sql serve数据库基础入门(2)
    Oracle自治事务示例演示
    普罗米修斯
    常见的8种排序(含代码):插入排序、冒泡排序、希尔排序、快速排序、简单选择排序、归并排序、堆排序、基数排序
    c++ sort函数cmp比较参数传入
  • 原文地址:https://blog.csdn.net/weixin_42241611/article/details/127132405