1.1应用场景
在使用BI浏览报表时,可能会出现报表加载缓慢的情况,本文提供几种常见报表加载缓慢的排查思路和处理方法。
1.2流程图
2. 排查点和处理方法
2.1报表设置不规范
①报表未开启使用缓存
未开启报表使用缓存,则浏览报表时后台会做实时的数据查询,如果数据量本身较大时等待时间则会更长。
处理方法:
Ⅰ.如报表对数据及时性要求不是很高,都开启报表使用缓存;
Ⅱ.系统管理-系统设置-系统管理-缓存设置,默认开启重置缓存开关,即便开启报表使用缓存,每天首次打开报表都需要重新加载。
可在每天需要自动执行的ETL任务的末尾,加上快照任务
参考以下文档设置快照任务https://help.powerbi.com.cn/wordpress?article_id=17
②报表/图表间隔刷新频率设置不规范
报表-报表间隔刷新和图表-图表间隔刷新(以秒为单位),间隔时间设置过小,会导致每次访问报表,后台频繁做查询申请,影响报表的打开速度。
处理方法:
根据图表数据实际的更新频率,设置合理的报表间隔刷新时间。如数据每半小时更新一次,间隔刷新时间设置为1800。
2.2数据查询效率低
①访问报表浏览页,报表加载完成后,点击控件右上角的工具栏按钮,弹出数据集构建器。
②点击左下角的“查看脚本”按钮,复制sql脚本。
③打开navicat等数据库管理工具,将复制的脚本放在查询窗口内。
④重复①和②操作,将报表用到的图表查询脚本都粘贴到同一查询窗口,并执行查询,观察查询时间和报表加载速度是否相近。
如果查询时间本身就长,则需要对数据库做针对性优化。
在数据库层面上,查询数据慢涉及到的常见因素有:
Ⅰ.查询的数据表本身数据量就大
Ⅱ.查询的数据表未建索引
Ⅲ.查询的数据表索引失效
Ⅳ.查询脚本连接过多的表
其中,表数据量级大,是项目建设前就应该要考虑到的因素,推荐使用starrocks等大数据数据库;其他因素多为表或查询本身的设计问题,可参考以下文档做优化
https://blog.csdn.net/weixin_43997319/article/details/125061673
2.3硬件资源不足
①访问报表时,在服务器的任务管理器,监测CPU和内存使用情况
如果内存和CPU的占用都很高,且服务器除BI、mysql数据库外没有其他大应用程序在运行,可能是打开报表需调用的内存超出BI的默认设置,此时会转而占用CPU。
处理方法见下图
②服务器本身硬件配置较低,在做大查询时可消耗资源不足,等待时间就会变长。
处理方法:
根据文档内附录的服务器硬件配置要求,对服务器硬件配置进行升级。
2.4未对Mysql数据库性能优化设置
对mysql数据库的配置文件做性能优化设置,一定程度上可以提升报表的打开速度。
参考文档https://help.powerbi.com.cn/page461
2.5其他因素
①BI服务异常
端口占用等情况引起的BI服务异常,也会使报表打开速度变慢
参考常见问题文档https://help.powerbi.com.cn/page135