注意:
- 当资源对应查询设置为禁用缓存后,对于电子表格则走最长流程,即报表不从执行结果缓存池和输出结果缓冲池中取对象,而是重新生成新的对象。
- 当参数设置为禁用缓存时,则参数对象不从参数缓冲池中取,而是重新生成新的对象。
缓存设置
下面我们对系统选择中的缓存设置进行分类说明。
自动优化
缓存设置的系统初始值按单节点2G内存设置,系统管理员可根据实际内存值进行修改。
自动优化原理
点击“自动优化”按钮会对“缓存设置”页面中的所有设置项(对象最大激活个数除外)进行重新配置。
配置的具体数值由系统依据分配的JVM内存的最大内存值:Xmx进行计算。JVM内存分配文档:内存设置
自动优化规则
系统默认是以2G最大JVM内存为基础,计算配置项的默认值。当点击“自动优化”时,各配置项的计算公式为: 系统分配到的最大JVM内存/2*配置项默认值
比如:当为smartbi分配的最大内存为4G,则各配置项计算后的值=4/2*配置项默认值。
可参考以下表格:
数据集定义对象池
用于缓存报表所依赖的数据集对象。
设置项 | 说明 | 默认值 |
最大对象总数 | 用于设置数据集定义对象池中允许的最大对象数。 | 300 |
对象最大激活个数 | 用于设置允许激活数据集定义对象池中的对象数。 | -1 |
说明
- “对象最大激活个数”的值必须小于等于“最大对象总数”的值。
- “-1”表示不限制对象数。
业务数据缓冲池
根据报表中的条件(如参数、排序等)缓存数据集查询的结果集。
设置项 | 说明 | 默认值 |
最大对象总数 | 用于设置业务数据缓冲池中允许的最大对象数。 | 50 |
对象最大激活个数 | 用于设置允许激活业务数据缓冲池中的对象数。 | -1 |
说明
- “对象最大激活个数”的值必须小于等于“最大对象总数”的值。
- “-1”表示不限制对象数。上表中“-1”表示业务数据缓冲池中“对象最大激活个数”为50。
参数缓存
用于存储参数默认值和备选值数据信息。系统选项的设置是全局设置,默认针对所有参数生效。
我们也可以对参数本身设置是否需要缓存。参数本身的缓存设置优先级大于系统选项中的优先级。参数本身的缓存请参考参数缓存。
设置项 | 说明 | 默认值 |
参数缓存 | 用于设置参数数据是否需要缓存。 | 是 |
说明
- “是”表示参数使用缓存,“否”表示参数禁用缓存。
电子表格
用于缓存电子表格的报表对象、报表执行结果、报表输出结果,数据集最大行数和最大单元格个数。
设置项 | 说明 | 默认值 |
报表对象 | 用于设置电子表格定义对象池中允许的最大对象数。 | 100 |
报表执行结果 | 用于设置电子表格执行结果对象池中允许的最大对象数 | 100 |
报表输出结果 | 用于设置电子表格最终生成结果中允许的最大对象数 | 100 |
数据集最大行数 | 用于设置数据集执行的结果中允许数据的最大条数 | 20000 |
最大单元格个数 | 用于设置电子表格报表展示中的单元格最大个数 | 200000 |
说明
- “-1”表示不限制对象数。
组合分析
针对组合分析的缓存设置。
设置项 | 说明 | 默认值 |
最大对象总数 | 用于设置组合分析定义对象池中允许的最大对象数。 | 200 |
缓存相关
禁用缓存
禁用缓存主要是指不使用产品的业务数据缓存。当在实际应用中会遇到一些不使用缓存的情况,比如数据需要及时刷新,就需要使用禁用缓存。
目前禁用缓存可以针对数据集和参数进行。
数据集的禁用缓存请参考自动缓存章节;参数缓存禁用请参考参数缓存章节。
清除缓存
缓存主要包含服务器缓存和浏览器缓存。
1.清除服务器缓存是指清除产品中的缓存池,目前产品自带有两种方式清除缓存:
a.使用计划任务的功能,定时清除对象池或是业务数据告诉缓存使用计划任务的功能,定时清除对象池或是业务数据缓存;
b.使用工具中的清空缓存功能一次性清除所有缓存。
2.清除浏览器缓存,需要先把所有的浏览器关闭(包含非IE浏览器),然后打开一个新的浏览器窗口,进行清除缓存操作。
以IE9为例,进入Internet选项,点击 删除 按钮。
在删除浏览的历史记录中,取消勾选保留收藏夹网站数据。勾选Internet临时文件和Cookie选项。