112
社区成员
本文可帮助读者对BI分析页面的组件数据绑定进行优化,提升分析页面初始加载性能。
在阅读本指南前,请参考阅读 组件数据绑定及数据更新事件 了解关于组件数据绑定的概述和说明,它可以帮助读者更好的理解优化指南。
BI分析页面在初始加载时,根据页面的实现复杂度不同,页面加载时会发送不同数量数据分析HTTP请求。合理的减少这些请求的数量,按不同的系统部署方式(HTTP1.1/HTTP2) 可以不同程度的提升页面初始加载性能。 我们优化手段既是围绕如何尽可能的减少数据分析HTTP请求数来进行的。
在页面开发前,数据集开发者应该根据业务需求对页面数据表进行合理的数据集设计,遵循《用尽可能少的数据集来满足分析页面的数据需要》的原则进行数据集设计:
避免一种业务数据在多个数据集都都包含的设计。这样,分析页面的前端开发只需要固定通过一个数据集来获取对应业务数据,而不会有多个数据集都可以获取数据。当不同组件都需要这些业务数据时,前端开发可以通过某一组件做数据绑定再进行数据结果分发来减少绑定数量,从而提升页面初始加载性能。而不是分散为不同数据集,使前端开发者需要进行优化时,而无从下手。
避免将一种业务数据分割为多个数据集的设计。这样,分析页面的前端开发只需要固定通过一个数据集来获取对应业务数据,而不必必须要通过多个数据集的数据绑定来获取数据。当不同组件都需要这类业务数据时,前端开发可以通过某一组件做数据绑定再进行数据结果分发来减少绑定,从而提升页面初始加载性能。
合理的数据集设计,可以有效减少分析页面的数据绑定数量,数据绑定数量直接影响页面初始加载时需要完成的数据分析HTTP请求,它的数量越少越好。
在页面开发过程中,页面开发者应根据数据集设计进行合理的组件数据绑定,遵循《用尽可能少的数据绑定来满足分析页面的数据需要》的原则进行组件数据绑定:
避免同一种业务数据在不同组件都进行绑定,而应当通过某一组件做数据绑定再进行数据结果分发来减少绑定数量,从而提升页面初始加载性能。
页面开发者可以通过在进行绑定的组件的数据更新事件函数中轻松的做到数据分析结果的分发:
// 当我们通过某一组件的数据绑定来获取一种业务数据,此时其他几个组件也需要这类数据,可以这样进行数据分析结果分发
function NFDW(data){
vbi.system.call("组件A").NFDW(data);
vbi.system.call("组件B").NFDW(data)
}
避免某一组件在不需要进行初始数据加载时也发送数据分析请求,应把在页面初始加载时不需要进行数据分析的组件关闭默认数据请求。例如,某些组件是在某种交互或时机之后才需要加载数据的,则关闭它的默认数据分析请求。
勾选上图的阻止默认分析请求,然后在恰当的时机调用 vbi.system.updateData
。
评估业务数据展示的时效需要,对组件数据绑定开启分析数据缓存并设置合理的缓存失效时长。开启缓存后,数据分析服务收到分析请求后可以直接返回当前有效的分析结果,从而减少请求响应时间,提升页面加载性能。
当页面开发完成之后,但页面性能需要进行优化时,开发者可根据开发前和开发过程中的优化指南,进行可优化项的评估然后按上诉指南进行优化。
上诉优化指南,我们将持续更新和补充。欢迎各位分析页面开发者补充和提出更好的优化建议。