文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>报表部署配置优化

报表部署配置优化

时间:2010-03-05  来源:blueideas

静态并发控制

应用服务器的承载能力是有限的,当并发的用户数超过其承载能力,服务器肯定要出错。因此,控制并发数的能力是必须的。最常用的办法是静态并发控制,FineReport就提供了这样的办法,其基本思路是:在服务器端预先配置允许并发的最大线程数,当请求线程超出了这个数,就采用一种策略保证当前的线程数不超过最大线程数,同时保证等待的线程能进来计算,客户端不会出现很大的延迟。

动态并发控制

当服务器对性能要求比较高的时候,光有静态并发控制是不够的。举例来说,服务器限定了允许最大20个线程访问,平均每个线程占用内存20m,总计服务器可以接受400M内存的耗用。可是,当正好每个线程访问的报表数据量都非常小时,也许20个线程加起来耗用的内存不足100M,此时多余的300M内存就浪费了;如果正好20个线程中某几个线程访问的报表数据量非常大,有可能一个线程占用的内存就超过100M,此时20个线程加起来占用内存可能远远超过400M,直接导致服务器内存溢出。同样的道理,对于CPU占用也是适用的。

因此,FineReport报表在提供简单静态并发数控制的基础上,为了合理的资源分配,并保证服务器的安全和流畅性,同时引入了动态并发控制的概念。根据服务器硬件和Java虚拟机的配置,在服务器运算的过程中,动态的判断当前并发访问的所占用的资源是否达到预设值,如果已经达到预设值,则控制新进访问线程。这种动态并发控制,和简单的并发数控制结合使用,更加灵活,更加合理。

缓存报表执行结果

在并发访问的机制下,经常出现同一报表被不同用户连续多次重复访问,此时如果能够把第一次算出的报表缓存下来,再次访问时直接从缓存中读取,则可以大大减少服务器的运算消耗。并且因为节省了报表的执行过程,可以大大加快访问速度。对于带有参数的报表,当用户采用相同的参数进行重复访问时,也可以利用缓存,减少重复的计算。对于带有不同参数的报表会缓存不同的报表执行结果。因此如果第二次这第一次执行的参数不一样,报表就会重新计算,并缓存该报表和参数对应的结果报表。因此,对于有参数的报表来说,缓存时还必须识别参数的值。 打开菜单:服务器|缓存设置,设置报表直接结果缓存参数,如下图所示

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载