1. 概述编辑
1.1 版本
报表服务器版本 | JAR 包版本 | 插件版本 |
---|---|---|
10.0 | 2020-05-04 | V1.2.2 |
1.2 应用场景
对于报表执行速度而言,数据源取数性能是存在较大影响的一环。如果对于数据的实时性要求不高能接受半小时左右的更新频率的话,使用缓存是一种既能降低服务器和数据库压力,又能提升报表执行速度的方案。
1.3 功能简介
插件可先将其数据集查询的结果缓存下来,对于缓存下来的数据,再次进行相同查询时,无需再次连接数据库重新查询数据,直接使用缓存下来的结果,达到资源复用,减少取数时间从而提高了报表的展现速度。
能够基于模板的访问情况,推荐适合使用缓存的模板,并对经常访问的模板进行定时更新,避免用户出现“首次访问慢”的场景。
对于使用填报的客户,更能根据填报的情况,快速失效缓存,确保数据的一致性。
提供缓存管理界面,可以直观看到缓存使用情况并进行管理。
2. 插件介绍编辑
2.1 安装插件
插件下载:本文暂不提供下载链接,请需要的客户联系技术支持获取。技术支持联系方式:QQ「800049425」、电话「400-811-8890」。
设计器插件安装方法请参见: 设计器插件管理
服务器安装插件方法请参见: 服务器插件管理
2.2 平台界面
管理员进入数据决策系统,点击「管理系统>增强缓存」,界面如下图所示:
2.3 设计器界面
2.3.1 缓存设置
插件安装后,将替代原本共享数据集,在数据库查询和服务器数据集处显示新的缓存设置。
1)采用服务器设置时,将使用服务器默认的缓存策略,可以看到对应的缓存策略及缓存是否默认开启,但不允许修改。如下图所示:
2)为该数据集单独设置时,允许单独设置此数据集是否使用缓存以及策略配置。
2.3.2 缓存快速开启/关闭
对于存在较多数据集的模板,一个个修改缓存设置较花时间,可以通过数据集工具栏的按钮实现快速开启/关闭。如下图所示:
点击按钮将批量修改当前模板的数据集为单独设置,并开启缓存。
点击按钮将批量修改当前模板的数据集为单独设置,并关闭缓存。
3. 操作步骤编辑
3.1 缓存配置
缓存配置页面中,可以对服务器的缓存进行设置,如下图所示:
各设置项介绍如下表所示:
设置项 | 说明 |
---|---|
开启缓存 | 为总开关,关闭后服务器将停止使用缓存 |
显示缓存提示 | 用于设置是否在模板预览的工具栏处显示缓存提示,包括手动更新数据按钮和缓存生成时间,点击更新数据后可在预览时手动更新用到的缓存,用于用户在觉得数据不准确时立即进行更新,如下图所示: |
允许缓存到磁盘 | 用于设置是使用磁盘+内存进行缓存,或仅使用内存进行缓存 |
缓存内存空间限制 | 用于限制缓存占用服务器内存空间的最大值 |
缓存磁盘空间限制 | 用于限制缓存占用服务器磁盘空间的最大值 |
缓存更新规则 | 按频率间隔更新: 支持开启缓存规则自动优化(建议开启),开启后将自动在运行过程中判断缓存更新间隔是否合理,并对相应规则进行调整优化。 定时更新: 支持具体时间(如"07:00:00")或CRON表达式(如"0 50 8 * * ?"表示每天上午8:50) 注:更新间隔是弹性的,如果 sql 结果每次变化,那么就会间隔缩短,表示这是一个需要加快更新的数据表,最短是 sql 执行的两倍间隔;如果 sql 每次结果都不变,间隔就会变成,最长6小时更新一次 |
注:能支持的模板的数据量是按照内存分配动态调整的,默认 500MB ,就是1kw上限(行 * 列),如有更大数据量的需求,可以计算模板占用内存自由调整分配内存(不建议用于过大数据量的缓存)。
3.2 缓存模板管理
缓存模板管理界面如下图所示:
3.2.1 缓存模板推荐
将根据系统的历史运行数据进行分析,并推荐可能适合使用缓存的模板,首次使用缓存建议进行检测。
检测后将把推荐的模板以多选树形式展示,客户可快速开启推荐模板的缓存,如下图所示:
注:也可通过访问地址:http://IP:端口号/工程名/decision/esd/recommend/cpt获取缓存模板推荐。
3.2.2 缓存模板管理
用于展示采用服务器设置(默认)的模板的缓存开启状态,可以手动进行模板的批量开启及关闭,通过缓存模版推荐开启的模板也将在这展示。
3.3 运行监控
如下图所示:
在此页面中可以一览目前使用缓存,并对其进行增删改等管理操作。其中包括缓存目前系统资源占用情况,缓存个数,缓存的来源模板、数据连接、具体缓存sql、数据量、缓存方式、缓存命中情况和具体的缓存更新情况等。
1)自动更新:
为避免出现无价值的缓存,浪费服务器和数据库资源,缓存存在 5 次的门槛,当数据查询达到 5 次,才会进入自动更新,避免用户出现「首次访问慢」的场景,每日定时更新的无门槛。
可以通过按钮对单一或全部的缓存进行清除,对单一或全部的缓存进行中止(不再使用缓存)
或对单一缓存进行立即更新
2)暂停抽数/恢复抽数:
表示暂停/恢复所有缓存自动更新。
3)暂停缓存/恢复缓存:
表示停止使用缓存,功能等同于缓存的总开关。
4)缓存计划明细:
点击「下次更新时间」可查看当前缓存的计划明细,如下图所示:
各字段介绍如下表所示:
字段 | 说明 |
---|---|
策略开启 | 目前默认是,表示会存取都走缓存,定时更新也会根据配置和访问情况执行 |
是否自动调整 | 目前默认是,表示更新间隔、是否自动更新都会根据访问情况自动调整 |
是否开启监控缓存访问 | 默认是,表示缓存的访问记录(访问命中更新失效的时间)都会被统计 |
策略开始时间 | 缓存及策略第一次访问被创建的时间 |
上次更新时间 | 缓存的上次更新时间 |
存活时间 | 缓存在超过存活时间后会被失效 |
终止前空闲时长 | 缓存超过这个时长没有被访问,就会被终止(终止表示清除此缓存、访问数据以及策略) |
更新间隔 | 缓存自动更新的间隔 |
终止时间 | 缓存及其策略被终止的时间,如果sql包含某些关键字认为不适合缓存,将会被设置终止时间 |
连续更新不同次数 | 每次自动更新的缓存数据都变化的次数 |
连续更新相同次数 | 每次自动更新的缓存数据都不变化的次数 |
连续更新失败次数 | 连续自动更新失败的累计次数,达到10次将会被终止 |
3.4 磁盘缓存目录修改
若启用了磁盘缓存,默认的会在C:\Users\用户名\.FineReport100(Windows下)下创建 cache 即缓存文件夹,一般呢,C 盘的空间会很小,如保存在 C 盘会增加对 C 盘的压力,那么有没有方法让其保存到别的盘下呢?
磁盘缓存的目录可通过 FineDB 的 FINE_CONF_ENTITY 表中的配置信息进行修改,这里缓存地址修改的是 ESDCacheManagerConfig.diskStorePath 字段的值(如不存在自行添加),例如,将 ESDCacheManagerConfig.diskStorePath 的值改为D:\Cache,这里使用填报的方式,具体实现方法参考 报表内置 HSQL 数据库 FineDB。修改后保存并提交,重启(禁用再启用)插件,缓存文件将会保存在 D 盘 Cache 目录下,若没有 Cache 文件夹,会自动创建该文件夹。
注:缓存路径一定要设置为某个独立的文件夹下,切忌与其他文件共用一个目录,如报表的缓存目录跟Web服务器工程的相同,则会删除 Web 服务器工程下的内容。
4. 插件卸载说明编辑
由于目前是和老的共享数据集共用配置,如不希望再使用插件,建议还原关闭掉模板开启的缓存后再进行卸载,或直接关闭“系统管理”——“缓存”页面中的“开启缓存”按钮,否则可能出现卸载后模板依旧在使用共享数据集的问题。
注意:无需卸载插件,效果等同于禁用或卸载插件