1. 概述

当制作报告时,您可能会遇到这些问题:报告加载时间过长,图表无法绘制等等。这时您可能需要数据医生的帮助,它为您提供了报告和组件级的性能分析、诊断、统计功能。

2. 功能介绍-报告整体

您在阅览报告时,右上角【数据医生】按钮,点击即可开启数据医生的诊断与分析;
数据医生 - 图1

您在编辑报告时,也可点击【数据医生】按钮,对当前编辑的页面进行性能与数据的诊断;
数据医生 - 图2

点击后效果如下图所示,数据医生的诊断分为性能分析、性能诊断、性能统计三部分。
数据医生 - 图3

  • 性能分析,您可查看组件生成各个阶段的耗时和处理意见;
  • 性能诊断,系统给出给出性能诊断建议及优化操作;
  • 性能统计,您可直观查看过去30天的响应时长数据统计历史性能趋势。

2.1 性能分析


随着报告的加载,数据医生性能分析的时间轴会动态变化,显示当前报告页的每个组件的查询过程及耗时,您可以快速定位性能慢的阶段,采取针对性优化措施。

  • 分析结论中会显示当前报告页的组件个数,报告加载完成后有分析结论;
  • 时间轴首先显示整体报告渲染的耗时(从进入报告到加载完成的总耗时);
  • 报告组件渲染时间展示了各个组件从查询准备到查询、SQL执行、计算、前端渲染等阶段的耗时;

各阶段指标说明如下:

阶段名称 说明
整体报告 最近一次报告所有组件渲染完成的总耗时
查询准备时间 生成查询请求的时间
SQL生成时间 图表配置转换成SQL以及SQL优化的时间
SQL查询时间 数据库中执行SQL查询数据的时间
计算时间 内存计算时间
前端渲染时间 服务器将数据传给浏览器及前端渲染的时间

耗时超过20s的组件认为是性能差的组件,对应耗时的柱形会飘红,快速发现性能瓶颈,从而进行优化:
数据医生 - 图4

诊断完成后,结论会根据组件耗时阶段判定性能差的原因,并告知阅览用户联系数仓或平台运维解决性能问题,例如:
数据医生 - 图5

2.2 性能诊断


除了实时的性能分析外,本产品根据性能优化从报告优化、报表优化、筛选器优化、模型优化、数据优化五个方面给出性能诊断建议及优化操作,辅助用户创建性能更优的报告给出性能的诊断,完成平台建议的优化措施报告性能可能会更优,具体建议示例:
数据医生 - 图6

2.3 性能统计


根据当前报告页过去30天的响应时长数据统计历史性能趋势,直观展示性能情况。

(1)根据TOP90响应时间(即90分位数的响应时长数据)判定该报告页的性能情况,不同区间的性能等级为:

TOP90响应时长 性能评级
3s以内 优秀
3s-10s 良好
10s-20s 一般
20s以外 偏弱

(2)性能统计的趋势图可切换tab查看不同性能区间的占比情况:
数据医生 - 图7

3. 功能介绍-单组件

(1)对于单个组件,可从图表右侧更多按钮选择“数据医生”,点击后则进入单个组件的诊断:
数据医生 - 图8

(2)当图表报错时,组件上即有【数据医生】的快速入口,点击后可查看当前图表组件的报错原因、性能分析与当前处理意见:
数据医生 - 图9

(3)报告数据医生的组件右侧的查询icon点击后亦可查看该组件的性能情况:
数据医生 - 图10

单组件的数据医生功能与报告整体类似,提供性能分析、诊断和统计,这里不再赘述。

4. 功能配置

数据医生功能支持编辑报告及阅览报告时使用,若不想让阅览用户使用数据医生功能,则需要项目管理员在项目中心-功能配置中,关闭【阅览态的数据医生功能】。
数据医生 - 图11