页面树结构
转至元数据结尾
转至元数据起始

缓存原理

对象缓冲池用于缓存系统中用到的数据集定义及最近使用的查询结果等,产品的对象池是存储在内存中。

对象缓冲池可以增强系统在并发时的性能,减少服务器的压力,提高用户报表查询速度。

用户打开灵活分析、组合分析、仪表分析、地图分析、透视分析、电子表格刷新数据时,服务器利用对象缓冲池获取数据的流程如下:

设置的系统初始值按单节点1.4G内存设置,系统管理员可根据实际内存值进行修改。

 文档目录:

 

 

注意:

  1. 当资源对应查询设置为禁用缓存后,对于电子表格则走最长流程,即报表不从执行结果缓存池和输出结果缓冲池中取对象,而是重新生成新的对象。
  2. 当参数设置为禁用缓存时,则参数对象不从参数缓冲池中取,而是重新生成新的对象。

 

 

缓存设置

下面我们对系统选择中的缓存设置进行分类说明。

自动优化

缓存设置的系统初始值按单节点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”表示不限制对象数。

缓存相关

禁用缓存

禁用缓存主要是指不使用产品的业务数据缓存。当在实际应用中会遇到一些不使用缓存的情况,比如数据需要及时刷新,就需要使用禁用缓存。

目前禁用缓存可以针对数据集和参数进行。

数据集的禁用缓存请参考自动缓存章节;参数缓存禁用请参考参数缓存章节。

清除缓存

缓存主要包含服务器缓存和浏览器缓存。

1.清除服务器缓存是指清除产品中的缓存池,目前产品自带有两种方式清除缓存:

a.使用计划任务的功能,定时清除对象池或是业务数据告诉缓存;

b.使用工具中的清空缓存功能一次性清除所有缓存。

2.清除浏览器缓存,需要先把所有的浏览器关闭(包含非IE浏览器),然后打开一个新的浏览器窗口,进行清除缓存操作。

以IE9为例,进入Internet选项,点击 删除 按钮。

在删除浏览的历史记录中,取消勾选保留收藏夹网站数据。勾选Internet临时文件和Cookie选项。

  • 无标签