1. 概述
1.1 版本
报表服务器版本 | 插件版本 | 功能变动 |
---|---|---|
10.0 | V5.9 | - |
V5.9.91 | 删除「合并相同SQL执行过程」功能 | |
V5.10.4 | 并行数据集取数新增配置页,允许单模板开启/关闭并行取数,详情参见本文 5.1 节 |
注:报表工程的 Servlet 路径名不能设置为 ReportServer ,否则会和工程内部的 Servlet 产生冲突,页面加载会出问题。
1.2 应用场景
性能优化即在不影响系统正确运行的前提下,使之可以更快地完成特定的功能。
性能优化 这篇文档中提到了系统性能优化的重要性及优化方法,现 FineReport 提供性能优化插件,可以更方便地实现对性能的优化和管理。
1.3 功能简介
批量提交:采用批量的方式进行数据库提交,数据量大时提交速度较原来有很大的提升。
frm 或 cpt 报表背景图片展示优化,用图片 URL 展示图片减少 DOM 大小。
下拉树前台极速构建。
全新 PDF 打印,导出效率极大提高。
图片转换插件:由 byte 数组到 image 对象的转换插件,比内置的转换器更高效。
并行数据集取数:多线程执行数据集取数,比原来一个一个依次取数更快。
上报任务缓存:缓存上报任务的相关信息,可快速查看当前任务。
设计器启动打开新的空报表:设计器每次启动都会默认打开上次关闭设计器前打开的报表,这个加载过程比较耗时。此插件可以帮助每次启动仅打开一个空的报表。
减少多 sheet 重复 SQL 查询计算。
优化资源并发读取效率。
全新的数据索引机制,大大提升大量数据计算情况下的检索过滤条件属性性能。
自带 SQL 查询性能检测工具,基于阿里巴巴 Druid 线程池实现实时监控 SQL 查询性能。
全新的数据索引机制,大大提升大量数据计算情况下的检索过滤条件属性性能。
支持 PDF 打印直接弹出打印机( 2017-07-31 后 JAR 支持)。
插件不支持 img 标签导出,img 标签的图片导出时会出现空白。
2. 插件介绍
2.1 插件安装
点击下载插件:性能优化
设计器插件安装方法请参见 设计器插件管理
服务器安装插件方法请参见 服务器插件管理
2.2 界面介绍
插件安装后,以管理员身份进入数据决策系统,可看到增加两个管理系统节点:性能优化、SQL执行监控。如下图所示:
3. 性能优化
点击「管理系统>性能优化」,界面如下图所示:
功能介绍如下表所示:
注:建议不勾选「新的国际化换行策略,浏览器导出打印效果统一」和「全新 PDF 导出打印」按钮。
功能名称 | 说明 |
---|---|
带缓存的格子关系运算 | 缓存格子扩展关系运算过程中的扩展结果,加速扩展结果,对动态折叠树特别有效 |
新的国际化换行策略,浏览器导出打印效果统一 | 基于 Webkit 浏览器使用的 ICU 国际化分词换行工具开发的全新换行插件,统一前后台换行效果 |
全新 PDF 导出打印 | 全球效率第一的 PDF 导出打印 |
设计器启动打开新的空报表 | 设计器每次启动都会默认打开上次关闭设计器前打开的报表,这个加载过程比较耗时。此插件可以帮助每次启动仅打开一个空的报表 |
使用 druid 线程池 | 测试性质的带 SQL 监控的线程池 |
下拉树前台极速构建 | 下拉树前台快速构建 |
数据集并行取数优化 | 并行的数据集取数并缓存,可加快取数速度,避免重复取数 |
4. SQL 执行监控
1)点击「管理系统>SQL 执行监控」,默认为未开启状态,点击可开启 SQL 监控,如下图所示:
2)开启后,选择某个数据连接,点击「查询」可以查询出详细的 SQL 执行信息,如下图所示:
注:执行过 SQL 的数据连接才会出现在「选择数据连接」的下拉复选框中。
5. 功能变动
5.1 并行取数支持单模板配置
如果想要给单个模板开启/关闭并行取数,可以将插件更新到 5.10.4 及之后版本,再进入决策系统的「管理系统>并行取数」处进行设置。
不想开启并行取数的模板,直接取消勾选即可,也支持搜索模板,设置完毕后不要忘记点击右上角保存,让设置生效哦。
6. 注意事项
6.1 新的国际化换行策略,浏览器导出打印效果统一
勾选「新的国际化换行策略,浏览器导出打印效果统一」按钮可能会造成一些问题,用户可以对以下事项进行排查,关闭对应功能。
1)影响文本换行,进而影响单元格高度计算。
2)影响图片导出、PDF 导出中的文本(包括 HTML )换行。
3)Word、Excel 中如果单元格内容最后是以图片展示,也会受到影响。
6.2 全新 PDF 导出打印
勾选「全新 PDF 导出打印」按钮可能会造成一些问题,用户可以对以下事项进行排查,关闭对应功能。
1)需要同时勾选「新的国际化换行策略,浏览器导出打印效果统一」按钮,「全新 PDF 导出打印」按钮才会生效。
2)frm 导出时,如果存在重叠组件,导出的 PDF 页面会空白。
3)图片清晰度会降低。
4)导出的 PDF 文件比不勾选该按钮导出的 PDF 文件小。
6.3 数据集并行取数优化
并行取数的原理是获取请求中所包含的块、报表等使用的数据集,然后放入线程池并行执行。因此,并行取数存在以下限制:
1)并行取数的实际效果受限于操作系统线程数、数据库线程数以及模板的数据集数量等,存在并行上限,无法实现完全的并行取数。
2)如果多个报表块使用了相同的数据集,开启并行取数后,仍会存在重复取数。
3)不同模板下,开启并行取数的效果存在差异:
普通报表只有一个请求,能够全部并行执行。
决策报表的各个块都有独立的请求,在取数时可能出现不并行甚至串行的情况。
大屏模板(FVS)的加载已经是多组件异步并行,开启并行取数后,提升效果一般。