数据库智能管家 DBbrain 数据库负载分析

数据库负载分析是 DBbrain 提供的实时数据库性能诊断功能,基于 MySQL Performance Schema(PFS)秒级采集活跃会话、等待事件、SQL 执行统计等多维度性能数据,以 AAS(Average Active Sessions,平均活跃会话数)为核心指标,通过可视化方式直观呈现数据库负载状况。该功能主要提供以下能力。

相关产品
数据库智能管家 DBbrain 产品页,含版本规格、价格与购买入口。

一、功能概述

·多维度负载分析:支持从等待事件(Waits)、SQL、主机(Host)、用户(User)、数据库(DB)五个维度拆分和分析数据库负载,快速定位性能瓶颈来源。

·AAS 负载趋势可视化:以柱状图或折线图展示 AAS 负载随时间的变化趋势,并提供 vCPU 参考线辅助判断数据库是否处于高负载状态。

·SQL 执行分析:提供 Top SQL 排名、SQL 摘要模板匹配和29项性能指标时序趋势(包括每次调用均值和每秒速率),支持深入分析 SQL 执行性能。

·Scope 过滤与交互式下钻:支持在 Top 指标列表中单击某一维度值,自动过滤负载趋势图,实现逐层下钻分析。

·自动粒度路由:根据查询时间跨度自动选择秒级、分钟级、5分钟级或小时级数据粒度,在查询精度和性能之间取得平衡。

·辅助指标叠加:支持在负载趋势图中叠加辅助指标进行关联分析。可选择 Connected Threads(已连接线程数)或 CPU 利用率作为辅助指标叠加显示,同时支持勾选 vCPU 参考线。当勾选 Connected Threads 且实际连接数达到 max_connection 的56%以上时,图表中将自动展示连接预警线(max_connection 的80%),帮助提前识别连接数即将打满的风险。

·实时会话管理:在数据库负载分析页面内嵌实时会话管理能力,支持查看实时会话统计、创建 SQL 限流任务和 Kill 会话任务,无需跳转独立页面即可快速完成会话级别的诊断和管控操作。

二、什么是 AAS(平均活跃会话数)

AAS(Average Active Sessions)是衡量数据库实例负载的核心指标,表示在指定时间窗口内同时处于活跃状态(非 Sleep)的平均会话数量。AAS 值越高,说明数据库并发负载越大。

·当 AAS 值持续低于实例的 vCPU 核数时,说明数据库负载在正常范围内。

·当 AAS 值持续超过 vCPU 核数时,表明数据库可能存在性能瓶颈,需要关注。

三、什么是 Performance Schema

MySQL Performance Schema(简称 PFS)是 MySQL 内置的性能数据采集框架,通过在 MySQL 服务器内部设置探针(Instruments),采集线程活动、SQL 执行、等待事件、锁信息等多维度运行时性能数据。DBbrain 的性能综合分析功能基于 PFS 进行秒级数据采集和实时分析。

四、多维度分析能力

性能综合分析支持从以下五个维度对数据库负载进行拆分分析:

维度 说明 典型场景
Waits(等待事件) 按等待事件类型(如 IO、锁、CPU 等)拆分负载 判断负载瓶颈是 IO、锁竞争还是 CPU 消耗
SQL 按 SQL 摘要模板拆分负载 定位导致高负载的具体 SQL 语句
Host(主机) 按客户端主机地址拆分负载 判断哪台应用服务器产生了过高负载
User(用户) 按数据库用户名拆分负载 判断哪个数据库用户的请求最多
DB(数据库) 按数据库名拆分负载 判断哪个数据库的负载最高

五、数据采集原理

性能综合分析通过以下三个采集通道,秒级轮询目标数据库实例的 performance_schema 库,获取实时性能数据。

采集通道 数据来源 采集周期 说明
活跃会话采集 threads、events_statements_current、events_waits_current 秒级 关联查询当前所有活跃前台线程的会话状态、正在执行的 SQL 和等待事件信息。每次采集为一次实时快照。
SQL 摘要增量采集 events_statements_summary_by_digest 秒级 采集每条 SQL 模板的累计执行统计(执行次数、延迟、锁等待、扫描行数等),通过两次采集取差值的方式计算增量变化。

注意:说明:

六、数据处理流程

采集到的原始性能数据经过以下处理流程,转化为可查询的时序分析数据。

关键处理环节说明:

1. 秒级采集:采集服务以秒级频率对目标实例的 performance_schema 进行查询,获取线程活动快照。

2. 增量计算:SQL 摘要数据采用"两次采集取差值"的增量计算方式。当检测到增量值为负数(数据库重启导致 PFS 统计归零)时,系统自动识别并跳过异常数据,确保数据准确性。

3. 多窗口聚合:原始数据通过聚合引擎进行三级时间窗口聚合(1分钟、5分钟、1小时),在查询精度和存储成本之间取得平衡。

4. 自动粒度路由:查询时根据时间跨度自动选择合适的数据源,短时间范围使用原始秒级数据,长时间范围使用聚合数据,保证查询效率。

七、AAS 负载计算方式

AAS(Average Active Sessions)的核心计算公式为:

AAS = 时间窗口内的活跃会话采样次数 / 时间窗口秒数

例如,在1分钟的时间窗口内,如果有120次活跃会话采样记录(每秒采集1次,平均每次采集到2个活跃会话),则该分钟的 AAS = 120 / 60 = 2.0,表示平均有2个并发活跃会话。

多维度拆分原理:在计算总 AAS 的同时,系统按所选维度(等待事件、SQL、主机、用户、数据库)对活跃会话进行分组统计,展示每个维度值对总负载的贡献占比。图表中展示负载最高的 Top 10维度值,其余合并为 “others”。

数据库负载分析是 DBbrain 提供的实时数据库性能诊断功能,基于 MySQL Performance Schema(PFS)秒级采集活跃会话、等待事件、SQL 执行统计等多维度性能数据,以 AAS(Average Active Sessions,平均活跃会话数)为核心指标,通过可视化方式直观呈现数据库负载状况。该功能主要提供以下能力:

·多维度负载分析:支持从等待事件(Waits)、SQL、主机(Host)、用户(User)、数据库(DB)五个维度拆分和分析数据库负载,快速定位性能瓶颈来源。

·AAS 负载趋势可视化:以柱状图或折线图展示 AAS 负载随时间的变化趋势,并提供 vCPU 参考线辅助判断数据库是否处于高负载状态。

·SQL 执行分析:提供 Top SQL 排名、SQL 摘要模板匹配和29项性能指标时序趋势(包括每次调用均值和每秒速率),支持深入分析 SQL 执行性能。

·Scope 过滤与交互式下钻:支持在 Top 指标列表中单击某一维度值,自动过滤负载趋势图,实现逐层下钻分析。

·自动粒度路由:根据查询时间跨度自动选择秒级、分钟级、5分钟级或小时级数据粒度,在查询精度和性能之间取得平衡。

赞 (0)
上一篇 4天前
下一篇 4天前