目录

性能管理的推荐配置

性能管理的推荐配置

  • 访问量高的配置方案

    以JVM内存设置为512M的服务器为例子,假设并发量为1000,用户讲求的报表为200单元格(差不多为一张A4纸的报表),不管是图片还是文本,我们以一个单元格平均为1.2K计算,可以得出报表系统的内存使用量为:

    1000*200*1.2k/1024k=234.375M

    根据以上计算,我们在实际生产系统中,我们建议:

    cachedReportTimeout设置成60分钟,用户数据量大的情况下,减少报表缓存时间。

    alwaysReloadDefine设置为no,开启缓存,这样客户在翻页时,不再与数据库交互,减轻数据库服务器的负担。同时在tag标签中把useCache设置为yes,而timeout可以根据自己的实时要求进行设置,如果数据一直都不会变的话,建议设置为-1 。

    maxConcurrentForReport为1000,这是并发量

    maxWaitForReport设置为2000

    maxWaitTimeForReport设置为10秒钟,10秒内得不到响应,用户需要再次请求

    maxCellNum,在内存中,同时计算的单元格数量建议为200单元格*50页=10000格

  • 数据量大的配置方案

    以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格

  • 在开发模式下的配置

    在开发过程中,我们可能时不时的修改报表,并且想不在重启web服务器的情况下,在页面上看到修改效果,这时我们可以设置reportConfig.xml中的alwaysReloadDefine为yes,如下所示:

    <config>   <name>alwaysReloadDefine</name>   <value>yes</value></config>