历史版本15 :抽数缓存介绍 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本

JAR 包版本

 插件版本 

10.02020-05-04V1.2.2

1.2 应用场景

对于报表执行速度而言,数据源取数性能是存在较大影响的一环。如果对于数据的实时性要求不高能接受半小时左右的更新频率的话,使用缓存是一种既能降低服务器和数据库压力,又能提升报表执行速度的方案。

1.3 功能简介

  • 插件可先将其数据集查询的结果缓存下来,对于缓存下来的数据,再次进行相同查询时,无需再次连接数据库重新查询数据,直接使用缓存下来的结果,达到资源复用,减少取数时间从而提高了报表的展现速度。

  • 能够基于模板的访问情况,推荐适合使用缓存的模板,并对经常访问的模板进行定时更新,避免用户出现“首次访问慢”的场景。

  • 对于使用填报的客户,更能根据填报的情况,快速失效缓存,确保数据的一致性。

  • 提供缓存管理界面,可以直观看到缓存使用情况并进行管理。

2. 插件介绍编辑

2.1 安装插件

插件下载:本文暂不提供下载链接,请需要的客户联系技术支持获取。技术支持联系方式:QQ「800049425」、电话「400-811-8890」。

设计器插件安装方法请参见: 设计器插件管理

服务器安装插件方法请参见: 服务器插件管理

2.2 平台界面

管理员进入数据决策系统,点击「管理系统>增强缓存」,界面如下图所示:

1603941003580383.png

2.3 设计器界面

2.3.1 缓存设置

插件安装后,将替代原本共享数据集,在数据库查询和服务器数据集处显示新的缓存设置。

1)采用服务器设置时,将使用服务器默认的缓存策略,可以看到对应的缓存策略及缓存是否默认开启,但不允许修改。如下图所示:

1599123609685140.png

2)为该数据集单独设置时,允许单独设置此数据集是否使用缓存以及策略配置。

企业微信截图_1599123527543.png

企业微信截图_15991238262598.png

2.3.2 缓存快速开启/关闭

对于存在较多数据集的模板,一个个修改缓存设置较花时间,可以通过数据集工具栏的按钮实现快速开启/关闭。如下图所示:

1603951292523305.png

点击1.png按钮将批量修改当前模板的数据集为单独设置,并开启缓存。

点击2.png按钮将批量修改当前模板的数据集为单独设置,并关闭缓存。

3. 操作步骤编辑

3.1 缓存配置

缓存配置页面中,可以对服务器的缓存进行设置,如下图所示:

1603941637388602.png

各设置项介绍如下表所示:

设置项说明
开启缓存为总开关,关闭后服务器将停止使用缓存
显示缓存提示

用于设置是否在模板预览的工具栏处显示缓存提示,包括手动更新数据按钮和缓存生成时间,点击更新数据后可在预览时手动更新用到的缓存,用于用户在觉得数据不准确时立即进行更新,如下图所示:

image.png

允许缓存到磁盘用于设置是使用磁盘+内存进行缓存,或仅使用内存进行缓存
缓存内存空间限制用于限制缓存占用服务器内存空间的最大值
缓存磁盘空间限制用于限制缓存占用服务器磁盘空间的最大值
缓存更新规则

按频率间隔更新:

支持开启缓存规则自动优化(建议开启),开启后将自动在运行过程中判断缓存更新间隔是否合理,并对相应规则进行调整优化。 

定时更新: 

支持具体时间(如"07:00:00")或CRON表达式(如"0 50 8 * * ?"表示每天上午8:50)

注:更新间隔是弹性的,如果 sql 结果每次变化,那么就会间隔缩短,表示这是一个需要加快更新的数据表,最短是 sql 执行的两倍间隔;如果 sql 每次结果都不变,间隔就会变成,最长6小时更新一次

注:能支持的模板的数据量是按照内存分配动态调整的,默认 500MB ,就是1kw上限(行 * 列),如有更大数据量的需求,可以计算模板占用内存自由调整分配内存(不建议用于过大数据量的缓存)。

3.2 缓存模板管理

缓存模板管理界面如下图所示:

1603942101116112.png

3.2.1 缓存模板推荐

将根据系统的历史运行数据进行分析,并推荐可能适合使用缓存的模板,首次使用缓存建议进行检测。

检测后将把推荐的模板以多选树形式展示,客户可快速开启推荐模板的缓存,如下图所示:

1600830229710022.png

注:也可通过访问地址:http://IP:端口号/工程名/decision/esd/recommend/cpt获取缓存模板推荐。

3.2.2 缓存模板管理

用于展示采用服务器设置(默认)的模板的缓存开启状态,可以手动进行模板的批量开启及关闭,通过缓存模版推荐开启的模板也将在这展示。

3.3 运行监控

如下图所示:

1603950448122468.png

在此页面中可以一览目前使用缓存,并对其进行增删改等管理操作。其中包括缓存目前系统资源占用情况,缓存个数,缓存的来源模板、数据连接、具体缓存sql、数据量、缓存方式、缓存命中情况和具体的缓存更新情况等。

1)自动更新:

为避免出现无价值的缓存,浪费服务器和数据库资源,缓存存在 5 次的门槛,当数据查询达到 5 次,才会进入自动更新,避免用户出现「首次访问慢」的场景,每日定时更新的无门槛。

可以通过按钮对单一或全部的缓存进行清除企业微信截图_15991245737709.png,对单一或全部的缓存进行中止(不再使用缓存)企业微信截图_1599124585687.png或对单一缓存进行立即更新企业微信截图_15991245597057.png

2)暂停抽数/恢复抽数:

表示暂停/恢复所有缓存自动更新。

企业微信截图_15991243045809.png

3)暂停缓存/恢复缓存:

表示停止使用缓存,功能等同于缓存的总开关。

企业微信截图_15991243376815.png

4)缓存计划明细:

点击「下次更新时间」可查看当前缓存的计划明细,如下图所示:

67c908d8-0a8a-4c01-9edd-10db9bf64d69.png

各字段介绍如下表所示:

字段说明
策略开启目前默认是,表示会存取都走缓存,定时更新也会根据配置和访问情况执行
是否自动调整目前默认是,表示更新间隔、是否自动更新都会根据访问情况自动调整
是否开启监控缓存访问默认是,表示缓存的访问记录(访问命中更新失效的时间)都会被统计
策略开始时间缓存及策略第一次访问被创建的时间
上次更新时间缓存的上次更新时间
存活时间缓存在超过存活时间后会被失效
终止前空闲时长缓存超过这个时长没有被访问,就会被终止(终止表示清除此缓存、访问数据以及策略)
更新间隔缓存自动更新的间隔
终止时间缓存及其策略被终止的时间,如果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. 插件卸载说明编辑

由于目前是和老的共享数据集共用配置,如不希望再使用插件,建议还原关闭掉模板开启的缓存后再进行卸载,或直接关闭“系统管理”——“缓存”页面中的“开启缓存”按钮,否则可能出现卸载后模板依旧在使用共享数据集的问题。

注意:无需卸载插件,效果等同于禁用或卸载插件

企业微信截图_1599124825143.png