<< Click to Display Table of Contents >> 性能检测 |
用户在制作报告时,系统会对报表性能进行静态检测,告知用户哪些地方会影响报表展示并给出合理的建议。报表性能检测原因分为三类,包括系统原因、报表原因和数据集原因,下面会分别详细介绍。当报表存在性能问题时,报表菜单栏上的“性能帮助”上会出现小红点提醒,用户可以点击“性能帮助->检测性能”查看具体原因和建议,并可以点击“检测性能”中的“下载”将所有性能慢的原因以Excel格式导出,如下图所示:
当用户将检测性能中列出的所有问题按给出的建议全部修改后,红点就会消失。
➢注意:
报表性能检测只在用户制作报告时提示,在预览报告时不会提示。
❖性能检测频率
报表性能检测频率可以通过系统设置->系统参数配置->基本参数配置中的 db.performance.test.interval 属性控制,如下图所示:
该值默认为60s,即每分钟对报表性能检测一次,用户也可以手动修改该值。
➢注意:
首次打开报表或者同时打开多个报表后切换选中报表会对报表性能立即进行检测,其它操作会按属性值进行检测。
❖保存报告时性能检测提示
用户制作完报告后,点击“保存”或“另存为”,默认会弹出检测性能提示框列出报告中存在的所有性能问题,用户可以根据列出的问题原因和建议对报告进行相应修改,如下图所示:
点击“继续保存”,报告保存成功;点击“取消”或“关闭”,用户可以继续制作报告。
保存报告时是否弹出检测性能提示可以通过系统设置->系统参数配置->基本参数配置中的db.save.performance.detail属性控制,如下图所示:
该属性值可以为true或false,默认为true。当值为true时,保存报告时会弹出检测性能提示框;当值为false时,保存报告时不会弹出检测性能提示框,用户可以根据需要进行配置。
❖系统原因
当用户将一些数据量相关的属性值修改的超过默认值后,可能会引起产品计算的压力太大,对此我们会进行提示并收集到系统原因中。比如:在系统设置->系统参数配置->数据量参数配置中将 list.qry.maxrow 的值修改大于10000时,会弹出提示,如下图所示:
用户点击“确定”强制修改该值后,会将此信息收集到报表制作的系统原因中,如下图所示:
❖报表原因
用户在制作报告新增列时,如果该列不能下推到数据库执行,会显示为橙色标识,且鼠标悬浮在该列上有性能检测提示,如下图所示:
当报表有以下几种情况时,会收集到报表原因中:
1)组件上使用的SQL数据集中,列不能下推到数据库执行,或组件的过滤中设置的过滤条件不能下推到数据库执行,如下图所示:
2)过滤组件或者参数组件没有勾选默认值且空选项策略设置为全部数据,即一次性把所有的数据都展示出来,如下图所示:
3)组件上使用的SQL数据集中,列为逻辑判断类型的细节表达式(表达式中只有if语句),如下图所示:
4)组件中维度绑定的个数超过10个,如下图所示:
5)报告中有多个筛选条件时,如下图所示:
6)对于已经支持了分页的数据库,在制作明细表时没有使用分页,如下图所示:
❖数据集原因
当报表组件依赖的数据集(SQL数据集/自服务数据集/组合数据集)有不能下推到数据库执行的列/操作或者SQL数据集的过滤中的过滤条件不能下推到数据库执行时,会将此信息收集到数据集原因中,如下图所示: