举个栗子!观远 BI 技巧(5):教你发现工作簿性能问题

published: 2024-04-30

当你使用 观远 BI 完成一个工作簿的制作,准备共享或发布时,却发现:

工作簿的性能感觉比预期低,在打开时加载很久,或点击某个筛选、或进行下钻时需要很长时间。


迫切想知道:

哪个工作簿中的哪个工作表因为什么原因耗费特别多的时间,进而优化改善我们的 观远 BI 。

究竟是哪里出了问题?是什么原因导致你的工作簿性能降低?


找到问题所在,你就可以着手去有针对性的进行工作簿优化,从而提升工作簿的整体性能。


本期《举个栗子》给大家分享的 观远 BI 技巧是:教你发现工作簿性能问题。

其实,方法很简单。我们只需利用 观远BI中的性能追踪功能,就可以达到记录关键事件的相关性能信息的目的,做到有理有据的提高工作簿的性能。

具体方法如下:

Step 1.开启性能追踪

性能追踪的入口位于仪表板的“更多”(右上角的操作符)内。

若要使用该功能,请提前联系管理员为您开启。当前该功能主要针对卡片查询加载适用。

Step 2.性能追踪含义

(1) 打开性能追踪按钮,将从右侧展开当前页面加载过程中的卡片任务耗时,此操作仅展示当前打开页面的已加载卡片,不包含历史记录。

(2) 当页面下滑时,会加载根据继续加载渲染出的卡片,上方为横向条形图展示,下方为表格展示。

页面刷新时会记录链路性能的页面开关状态,若未关闭,刷新后会默认在下方追加加载的性能。

(3) 展示的性能数据主要包含:仪表板的卡片traceId、仪表板卡片加载过程的关键时间数据等。

若当前页面没有数据,加载失败则显示当前无数据, 如果未加载出数据,将会显示数据加载中。


名词解释(以下名词解释来源于 观远 BI 帮助中心):


一次计算:根据卡片的sql语句从数据库/spark中读取数据的过程

二次计算: 在一次计算结果的基础上进行高级计算(如同环比、百分比)的过程


是否命中缓存:

未命中:一次计算二次计算均未命中

一次命中:代表一次计算命中,包括卡片仅存在一次计算,和卡片存在二次计算但未命中,均显示为一次命中

全命中:代表一次计算和二次计算都命中


serverWaiting :接收到前端请求至开始读取数据的时间

pgWaiting :开始读取数据至等待写入pg数据库的时间

driverRunning :转化为物理引擎时间

sparkRunning spark :实际计算时间

cpuTime cpu :占用时间

dbTime :直连数据库查询时间

数据转化 :把一次计算/二次计算的结果转换成前端需要的格式的时间


(4) 如感觉性能记录屏幕过窄可以点击宽屏按钮,如下图设置:

根据性能追踪可查看工作簿在打开的过程中哪一个环节或计算流程加载过慢,从而定位问题并及时处理。

注意事项:根据官网消息,此功能目前只开放于 观远 BI 5.1.0及以上版本。性能追踪的数据不在数据库中记录,仅供用户分析实时性能问题使用。