如何解决大数据量性能优化的问题
快逸报表可以控制如下性能项目:
- 报表缓存的保存时间
- 缓存的存放位置
- 服务器同时计算的报表个数
- 等待计算队列中报表数量上限
- 等待队列中放弃报表计算的时间
上述控制是在服务安装目录下WEB-INF文件夹中reportConfig.xml文件中设定的,具体的设定内容请参照下面的说明
<config>
<name>cachedReportTimeout</name>
<value>120</value>
</config>
(1) cachedReportTimeout表示报表缓存保存的时间,以分钟为单位。如果不设此参数,缺省值是120分。此值应根据实际内存大小、缓存文件夹空间大小来调节,一般在1-3小时之间。
<config>
<name>cachedToDiskOnly</name>
<value>no</value>
</config>
(2) cachedToDiskOnly表示报表缓存时是否只保存在硬盘上,值为yes或其他值,当为yes时,计算出的报表不在内存中存留,只写入到硬盘中;为其他值时,则内存和硬盘中均会保存,当内存不足时,java虚拟机会将缓存报表从内存中清除。
<config>
<name>maxConcurrentForReport</name>
<value>9999</value>
</config>
(3) maxConcurrentForReport表示报表WEB应用中服务器可以同时计算的普通(非大数据)报表的个数,以便有效控制服务器的内存使用量。
<config>
<name>maxWaitForReport</name>
<value>9999</value>
</config>
(4) maxwaitForReport表示报表WEB应用中服务器可以等待计算的普通(非大数据)报表的个数,以便有效控制服务器的内存使用量。
<config>
<name>maxWaitTimeForReport</name>
<value>9999</value>
</config>
(5) maxWaitTimeForReport,表示等待队列中的报表能够等待的最大时间,如果等待的时间超过这里的定义,服务器会从队列中自动清除等待计算的该报表。