润乾报表数据量大的配置方案

 

以 JVM 内存设置为 1G 的服务器为例子,假设并发量最大为 5, 用户请求的报表为 200 单元格1000 页(数据量可能上千万,但通过条件查询,最其中几千条记录),一般大数据量都没有图片,所以以每一个单元格为 0.5k 计算,那么在最大并发量下,得出报表系统内存使用量为:
200*1000*5
0.5/1024K=488.28125M
根据以上计算,我们在实际生产系统中,我们建议:
cachedReportTimeout 设置成 180 分钟, 用户数据量大的情况下,增大报表缓存时间。
alwaysReloadDefine 设置为 no,开启缓存,这样客户在翻页时,不再与数据库交互,减轻数据库服务器的负担。同时在 tag 标签中把 useCache 设置为 yes, 而 timeout 可以根据自己的实时要求进行设置,如果数据一天都不会变的话,建议设置为 -1 。
maxConcurrentForReport 为 5, 这是并发量
maxWaitForReport 设置为 10
maxWaitTimeForReport 设置为 600 秒钟,10 分钟内得不到响应,用户需要再次请求
maxCellNum,在内存中,同时计算的单元格数量建议为 200 单元格 *500 页 =100000 格