1. 概述
1.1 版本
| 运维平台版本 | 功能变更 |
|---|---|
| V2.34.0 | - |
| V2.35.0 | 1)BI组件性能明细页新增指标:等待开始时间、数据传输时间、前端渲染时间、权限信息转换时间 2)查询总耗时取值逻辑优化,来源于从用户点击查询到前端加载完成的总时间 |
1.2 应用场景
BI 组件性能功能帮助管理员全面掌握 BI 组件的访问情况与性能状态,快速定位性能瓶颈,降低问题排查成本。
2. 使用前提
1)功能面向对象
本功能,仅面向 PC 端访问的 BI 仪表板。
2)开启链路追踪
使用本功能前,请先确保开启链路追踪。详情请参见:链路追踪使用前提
3)配置性能设置
管理员登录运维平台,选择目标项目,点击「健康巡检>业务性能」,在右上角点击「性能设置」。
点击「BI组件性能」,配置该项目的BI组件性能设置,点击「保存」完成配置。
数据刷新时间:每日按默认区间聚合计算的执行时间,默认值为凌晨 3 点
默认展示指标:管理员可配置BI组件性能总览表和明细表中默认展示的字段,所有用户刷新页面后均会重置为该配置。
慢查询设置:超过设置值的请求,会被算作慢请求。

3. 功能入口
1)管理员登录运维平台,进入目标被管理项目,点击「健康巡检>业务性能」。
2)在「业务性能」页面的下拉列表中选择「BI组件性能」,即可切换至对应监控模块。

4. 性能总览
性能总览页面由「总览图」和「总览表」两部分组成,提供 BI 组件访问情况的全局视图。
4.1 配置查询条件
1)设置展示字段
在「总览」界面,点击右上角的「展示字段」按钮,勾选需要展示的维度和指标。
该设置对总览图的下钻明细,和总览表生效。
维度与指标说明:
| 维度/指标 | 说明 |
|---|---|
| 组件ID | FineBI组件的ID |
| 组件名称 | FineBI组件的最新名称 |
| 组件所属主题 | FineBI组件所在的主题名称 |
| 组件类型 | FineBI组件的类型 1:分组表 2:交叉表 3:明细表 4:图表 5:自助数据集 6:筛选控件 7:文本组件 |
| 引擎类型 | 抽取 / 直连 |
| 创建者 | FineBI组件的创建者 |
| 优化建议 | 运维平台识别到的FineBI组件问题,建议的优化方向 |
| 最近使用时间 | FineBI组件最近一次被访问的时间 |
| 来源表id | 组件中直接用到的数据表ID |
| 检测次数 | FineBI组件的访问次数(经过仪表板访问组件也计入) |
| 平均查询总耗时 | 查询耗时:查询该FineBI组件的完整耗时 平均查询总耗时:该组件的查询耗时平均数 |
| 平均SQL执行耗时 | SQL执行阶段的平均耗时,SQL执行包括:
|
| 平均SQL执行耗时占比 | 平均SQL执行耗时 / 平均查询总耗时 |
| 慢查询数 | 慢查询,是指大于第二章「慢查询设置」的请求数量 |
| 来源表数 | 组件中直接用到的数据表数量 |
| 影响模板数 | 用到该组件的仪表板数量 |
| 组件添加计算字段数 | 组件分析区域添加的计算字段个数 |
| 访问人数 | 访问过该FineBI组件的用户数量 |
| 访问耗时-最大值(ms) | 组件的最大查询耗时 如果组件发送多条SQL,取耗时最长的一条用于计算 |
| 访问耗时-中位数(ms) | 组件的查询耗时中位数 如果组件发送多条SQL,取耗时最长的一条用于计算 |
| 重复查询率 | 组件发送的SQL重复的次数 / 总查询次数 |
| 缓存命中率 | 命中缓存的查询次数 / 总查询次数 |
| 查询失败率 | 查询失败的次数 / 总查询次数 |
| 慢查询占比 | 慢查询数 / 总查询次数 |
| 来源表最大血缘层级 | 该组件直接来源表的最高血缘层级 |

2)筛选组件范围
点击「筛选」按钮,可筛选总览图和总览表中的FineBI组件范围。
| 筛选项 | 说明 |
|---|---|
| 检测区间 | 筛选访问FineBI组件的时间区间
|
| 访问用户 | 筛选访问FineBI组件的用户名称 |
| 组件ID | 筛选FineBI组件的ID |
| 组件名称 | 筛选FineBI组件的名称 |
| 组件所属主题 | 筛选FineBI组件所在主题的名称 |
| 组件类型 | 筛选FineBI组件的类型 |
| 引擎类型 | 抽取 / 直连 |
| 平均访问耗时 | 用户访问该组件的平均耗时 |
| 平均SQL执行耗时占比 | 平均SQL执行耗时 / 平均查询总耗时 |
| 慢查询数 | 大于第二章「慢查询设置」的查询数量 |
| 影响模板数 | 用到该组件的仪表板数量 |
| 组件添加计算字段数 | 组件分析区域添加的计算字段个数 |

4.2 总览图
总览图以图表形式直观展示组件的访问情况,包含以下三个图表:
| 图表类型 | 说明 |
|---|---|
| 访问量 TopN 排行 | 以柱状图降序展示访问量最高的 FineBI 组件 横轴为访问次数,纵轴为组件名称,可滚动查看全部资源 点击对应柱状图,可联动查看对应 FineBI 组件的查询耗时和访问性能明细 |
| 耗时分布情况 | 结合「访问次数」和「平均查询总耗时」两个维度展示所有 FineBI 组件,快速定位高访问、高耗时的问题模板 横轴为访问次数,纵轴为平均查询总耗时(ms) 点击对应散点,可联动查看对应 FineBI 组件的查询耗时和访问性能明细 |
| 整体访问趋势 | 展示选定时间范围内系统整体平均查询总耗时和总访问次数的变化趋势,帮助发现性能恶化拐点 横轴为日期,纵轴为平均查询总耗时及总访问次数 |

4.3 总览表
总览表以表格形式展示按组件 ID 聚合后的性能指标。

支持将性能总览的总览表导出为 Excel 文件,便于离线分析和存档。
在性能总览页面点击右上角「导出」按钮。系统将当前界面展示的数据导出为 Excel 文件,下载至本地。
导出超时限制为 5 分钟,若超时会提示「导出超时,请缩减数据范围」。建议缩小时间区间或减少筛选项后重新导出。

5. 性能明细
性能明细页面以表格形式逐条记录每次组件访问的详细数据,可查看当次访问的完整性能信息。
5.1 配置查询条件
1)设置展示字段
在「明细」界面,点击右上角的「展示字段」按钮,勾选需要展示的维度和指标。该设置对明细表生效。

维度与指标说明:
| 维度/指标 | 说明 |
|---|---|
| 访问时间 | 用户访问FineBI组件的时间 |
| 访问用户 | 访问FineBI组件的用户名 |
| 组件ID | FineBI组件的ID |
| 组件名称 | FineBI组件的最新名称 |
| 模板ID | 组件所属仪表板的ID 若为空,说明用户直接访问了组件,未查看仪表板 |
| 会话 ID | 访问仪表板中组件的查询会话ID 若为空,说明用户直接访问了组件,未查看仪表板 |
| taskid | 此次组件访问行为的唯一标识 |
| 访问类型 | 包括:预览、编辑、导出 |
| 引擎类型 | 抽取 / 直连 |
| 查询状态 | 此处查询是否执行成功 成功 / 失败 |
| 缓存命中情况 | 此次查询是否命中了缓存 命中 / 未命中 |
| 是否慢查询 | 慢查询,是指大于第二章「慢查询设置」的请求 是 / 否 |
| 数据集ID | 该组件所使用的数据集的ID 如果涉及多个数据集,则是多个ID的集合 |
| 查询报错内容 | 如果查询报错,则记录报错内容 |
| 数据连接类型 | 直连类型独有,记录组件数据来源的数据连接的类型 |
| 数据连接名 | 直连类型独有,记录组件数据来源的数据连接的名称 |
| 数据连接url | 直连类型独有,记录组件数据来源的数据连接的URL |
| 查询ID | UUID,每次查询行为的唯一标识 |
| 片段ID | 一次查询有可能会有多个查询请求 |
| 执行的SQL | 直连类型独有,查询组件所执行的SQL内容 |
| 版本时间 | 最后一次更改组件配置的时间 |
| 集群 ID | 执行该查询的bi-web节点ID |
| 查询总耗时 | 该次访问的完整查询耗时,从用户点击查询到前端加载完成的总时间 |
| SQL执行耗时 | SQL 执行阶段的耗时,包括创建数据连接和数据库查询执行 |
| 结果集行数 | 查询返回的结果集的行数 |
| 结果集列数 | 查询返回的结果集的列数 |
| 执行计划构建时间(ms) | FineBI引擎在拿到查询请求时构建如何组织查询的阶段耗时 |
| 创建数据库连接时间(ms) | 执行前需要获取和数据库连接的耗时 |
| SQL生成及优化时间(ms) | 对应的查询转换成 SQL 以及对 SQL 进行优化的阶段耗时 |
| 数据传输(数据库-BI)时间(ms) | 数据库的查询结果返回给FineBI服务器的时间 |
| 内存计算时间(ms) | 直连引擎计算的时间,所有BI代码的计算时间 |
| 等待开始时间 | 从用户触发查询到后端开始处理的时间 |
| 权限信息转换时间 | 服务器端进行权限信息转换的耗时 |
| 数据传输(BI服务器-用户浏览器)时间 | FineBI服务器将数据传给用户浏览器的时间 |
| 前端渲染时间 | 后端计算完毕之后,前端js计算、渲染和展示的时间之和 |
2)筛选模板范围
点击「筛选」按钮,可筛选明细表中的FineBI组件范围。

| 筛选项 | 说明 |
|---|---|
| 检测区间 | 筛选访问FineBI组件的时间区间
|
| 访问用户 | 筛选访问FineBI组件的用户名称 |
| 组件ID | 筛选FineBI组件的ID |
| 组件名称 | 筛选FineBI组件的名称 |
| 模板ID | 筛选FineBI组件所在仪表板的ID |
| 数据集ID | 筛选FineBI组件所调用的数据集的ID |
| 访问类型 | 预览 / 编辑 / 生成 |
| 引擎类型 | 抽取 / 直连 |
| 查询状态 | 成功 / 失败 |
| 缓存命中情况 | 命中 / 未命中 |
| 数据连接名 | 筛选直连类型组件调用数据的来源数据连接 |
| 查询总耗时 | 从用户点击查询到前端加载完成的总时间 |
| SQL执行耗时 | SQL 执行阶段的耗时,包括创建数据连接和数据库查询执行 |
| 会话ID | 访问仪表板中组件的查询会话ID |
| taskId | 组件访问行为的唯一标识 |
| 查询ID | 查询行为的唯一标识 |
| 片段ID | 一次查询有可能会有多个查询请求 例如创建数据连接,SQL 执行,数据传输都可能再被拆分成多个请求,需要分别统计考量 |
5.2 明细表
在性能明细表中,支持以下跳转操作:
首屏链路:跳转至该次访问对应的首屏链路追踪明细页面
调用链路:跳转至该次访问对应的调用链路追踪明细页面
导出:支持将当前界面展示的性能明细数据导出为 Excel 文件,便于离线分析和存档。导出超时限制为 5 分钟,若超时会提示「导出超时,请缩减数据范围」。建议缩小时间区间或减少筛选项后重新导出。

