【账号安全提醒】您的账号尚未绑定邮箱!🎁 立即完善信息,领取50麦豆奖励!为确保账号安全,请尽快完成以下操作:
1.前往下方输入框填写有效邮箱
2.点击「立即绑定」按钮验证
3️.奖励自动发放至您的账户
麦粉社区
>
帖子详情

交互仪表盘性能大揭秘

干货分享 发表于 3 天前
发表于 3 天前

嘿,各位数据江湖的大侠们!今天咱们就来扒一扒报表性能这个神秘又关键的事儿,为啥有时候报表慢得像蜗牛散步呢……别担心,今天我们就来聊一聊如何让你的报表摆脱“龟速”,一路“飞”起来!


 


常见性能问题——报表的“慢性病”


 


首先,让我们来数一数报表的那些“慢性病”:



  • ​报表加载慢​​:等报表加载的时间,都能泡杯咖啡了。

  • ​大数据组件加载慢​​:数据量大一点,报表就变成了“慢羊羊”。

  • ​复杂仪表盘性能差​​:组件多、逻辑复杂,报表瞬间变成“卡顿大王”。


lQDPKHXCVCRat1PNBKvNBOiwrF3rjLZ38FsH5KEWIGXeAA_1256_1195


 


性能影响因素——报表的“拦路虎”


报表性能受多种因素影响,就像唐僧取经一样,要过九九八十一关:



  • ​网络带宽​​:网络差一点,报表加载就成了“龟速”。

  • ​服务器性能​​:服务器不够给力,报表就像被绑住了手脚。

  • ​客户端性能​​:客户端配置低,报表就变成了“蜗牛”。

  • ​报表制作​​:一个不小心,报表就变成了“性能杀手”。


 


报表性能常见错误做法——报表的不当实践


在报表制作的世界里,有些做法就像是在参加一场“谁最慢”的比赛:


 


1、组件数量过多:报表中塞满了各种组件,就像一个“组件大杂烩”



  • 指标卡实现方式不恰当,多个指标,使用多个指标卡组件来展示。


 



 



  • 仪表盘/组件背景实现方式不恰当,用一个或多个图片组件作为组件和仪表盘的背景。


 



 



  • 冗余组件未删除,仪表盘上存在无用组件浪费资源。



 


2、画布选择不当: 像穿了一件超大号的“衣服”



  • 选择了远超实际需要的画布大小,导致资源浪费。



 


3、图片数量过多、过大:仿佛在办“摄影展”



  • 仪表盘中的图标、logo、标题背景图片、组件背景图片等累计起来数量较多、图片文件过大。



 


4、仪表盘太复杂:报表结构,像“魔方”一样绕



  • 仪表盘中使用了复杂的嵌套结构,如URL嵌套URL、页签嵌套页签。URL嵌套URL、页签嵌套页签的情况下绑定URL组件



 


性能优化建议——报表的“神医处方”


别急,我们有妙招帮你解决这些“病”,就像神医开出的处方:


 


1、精简组件,“断舍离”



  • 尽可能使用较少的组件实现相同的功能。例如,可以使用一个文本组件来展示多个指标,而不是使用多个独立的组件。



 



  • 直接设置组件背景/仪表盘主题背景。




  • 在报表编辑完毕后,检查是否有冗余组件并及时删除,确保每个组件都有其存在的必要性。


 


2、合适的画布,穿一件合身的“衣服”


按实际的分辨率选择画布大小,尤其是移动端类型的仪表盘,避免选择远超实际需要的画布大小,减少资源浪费。


 


3、优化图片,让资源“苗条”些



  • 将多个图片合并到一起,减少请求次数。例如,指标看板的背景/边框+图标可合并,仪表盘背景+标题图标+组件背景/边框可合并。




  • 对于过大的图片,建议手工压缩后再上传:


 


4、简化报表结构,变回“直线跑道”


拆分报表,避免使用复杂的嵌套结构,如页签嵌套页签的情况下使用URL组件,URL嵌套URL。最多推荐用1个页签组件绑定URL组件实现菜单切换的方式。


 


5、优化组件类型,适合的才是最好的!


根据需求选择合适的组件类型。例如:



  • 文字的实现优先选择静态标签组件;

  • 动态内容选择文本组件;

  • 进度指标实现组件优先级:水球图 > 进度图 > 油量图;

  • 指标组件优先级:指标看板 > 文本组件 > 指标卡。


 


6、开启滚动加载、拆分仪表盘长度



  • 优先考虑滚动加载,减少初始化时的取数请求


 




  • 拆分仪表盘长度,使用页签+URL方式拆分仪表盘,减少初始化时的取数请求。但只限制于1个页签+N个URL的场景。


 


7、开启缓存、SQL引擎​​



  • 开启数据模型缓存;



 



  • 开启SQL引擎;走olap引擎的取数逻辑需要有MDX解析、执行多个SQL、OLAP计算结果集等环节,有些可以直接执行SQL的情况直接走SQL引擎会少许多环节,因此默认开启SQL引擎会更好,让系统自动判断走OLAP引擎还是SQL引擎。



 


8、合理使用筛选器控件类型


筛选器若是被联动/传参并且是隐藏的,那么可以改成文本输入框控件减少备选值的请求。



 


性能问题的信息采集手段——找到“病根”


遇到性能问题,别急,我们有办法找到“病根”:


1获取报表执行的MDX和SQL:就像破译神秘的代码,揪出问题的“小尾巴”。


参考文档:获取数据模型的执行MDX和SQL


 


2、CPU采样:查看服务器方法调用时间,像是在观察敌人的心跳,看看哪里出了问题。


Smartbi服务器端:系统监控-性能(CPU采样)


OLAP引擎端:采集数据模型性能CPU采样信息


 


3、网络请求:查看浏览器与服务器之间的请求和响应耗时,就像追踪通信线路。


方法一:浏览器开发者工具-网络(访问smartbi的URL加上 ?debug=true):F12-network


方法二:Charles:Charles


 


希望这些优化建议能帮助大家在数据报表的制作过程中,让报表真正“飞”起来。


 


性能优化是一个持续的过程,需要我们在实践中不断探索和调整。让我们一起努力,打造出既美观又高效的报表吧!


 


【有奖互动】亲爱的数据达人们,我们诚挚邀请您分享提升交互仪表盘性能的技巧,精彩回复将获得惊喜麦豆奖励!让我们一起来探讨这个数据分析中的经典话题吧!

发表于 前天 10:18
赞一个~~多多分享这些技巧呀。如果可以给一些实际的案例,修改前需要加载多久,修改后需要加载多久就更好了。

再就是多多分享一些模板呢
回复

使用道具 举报

发表于 前天 11:47
学会了
回复

使用道具 举报

发表于 前天 19:24
学到了学到了
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

3回帖数 0关注人数 153浏览人数
最后回复于:2025-6-30 09:55
快速回复 返回顶部 返回列表