1. 为什么要进行性能优化编辑
在使用 FineBI 时,可能会出现以下情况影响使用。
访问仪表板时加载时间很长。
频繁访问大数据量仪表板占用了过多的服务器内存而导致内存溢出。
过多的用户并发访问的时候服务器承受压力过大导致服务器崩溃。
频繁地出现请求超时。
更新时间长、更新报错、更新卡住。
若出现以上现象,说明需要进行性能优化来提高 BI 的使用体验。
2. 影响性能的因素编辑
当系统出现性能问题时,首先应分析是什么原因导致缓慢再分析如何改进。
2.1 服务器性能
FineBI 作为纯 Java 软件,集成至服务器的 BI 会继承服务器的资源。服务器的虚拟内存、连接池的设置等等往往会导致很多性能问题。
2.2 数据准备
在制作自助数据集时, 左右合并 N:N 可能会出现数据膨胀从而导致更新失败或者更新耗时长的问题。
SQL 数据集的预览速度影响更新速度,可能导致取数预览缓慢,引起更新卡住等问题。
2.3 仪表板制作
在制作仪表板时,若制作的图表层级过多或者分组过多,或者单张仪表板制作组件数超过 30 个,就会引起仪表板展示速度缓慢。
3. 如何进行性能优化编辑
3.1 服务器性能优化
优化方法 | 文档 |
---|---|
设置合理的服务器配置 | FineBI 服务器配置推荐 |
配置宕机风险参数 | 修改 FineBI 配置参数 |
若已经出现问题,需检查问题原因并优化 | BI宕机问题排查步骤 |
3.2 数据准备优化
3.2.1 数据处理
规范数据处理方式,左右合并 N:N 场景需要控制使用,注意避免产生大数据量 N:N 关联。
3.2.2 数据更新
避免出现大量的单表定时更新,并且更新时间比较分散,尽量使用 全局更新。
更新时将同一时间的任务合并,放在一起更新,减少自助数据集重复更新。
控制更新频率,减少白天使用系统时进行更新,或者白天使用系统时配置资源池参数。
3.2.3 数据使用
实时数据需检查数据库性能,保证数据库取数速度。
谨慎使用实时数据:实时数据。
3.3 仪表板优化
详情见:仪表板展示速度慢排查步骤
查看制作的仪表板是否进行了大量的计算,例如使用了去重计数、表头过滤、公式过滤等操作,可减少计算、寻求其他提带计算方式或者将仪表板计算移动到自助数据集中进行。
单张仪表板制作组件数不超过 30 个。
若对图表大数据分组有要求,可进行 图表大数据 GCC 升级。
对大数据量实时数据集建议切换为抽取数据。
实时数据的数据库执行速度慢,可优化 SQL 语句或者参考 实时数据中 SQL 参数使用 减少数据量。