[Java报表软件—技术知识]报表部署配置优化 |
静态并发控制
应用服务器的承载能力是有限的,当并发的用户数超过其承载能力,服务器肯定要出错。因此,控制并发数的能力是必须的。
最常用的办法是静态并发控制,FineReport就提供了这样的办法,其基本思路是:在服务器端预先配置允许并发的最大线程数,当请求线程超出了这个数,就采用一种策略保证当前的线程数不超过最大线程数,同时保证等待的线程能进来计算,客户端不会出现很大的延迟。
动态并发控制
当服务器对性能要求比较高的时候,光有静态并发控制是不够的。举例来说,服务器限定了允许最大20个线程访问,平均每个线程占用内存20m,总计服务器可以接受400M内存的耗用。可是,当正好每个线程访问的报表数据量都非常小时,也许20个线程加起来耗用的内存不足100M,此时多余的300M内存就浪费了;如果正好20个线程中某几个线程访问的报表数据量非常大,有可能一个线程占用的内存就超过100M,此时20个线程加起来占用内存可能远远超过400M,直接导致服务器内存溢出。同样的道理,对于CPU占用也是适用的。
因此,FineReport报表在提供简单静态并发数控制的基础上,为了合理的资源分配,并保证服务器的安全和流畅性,同时引入了动态并发控制的概念。
根据服务器硬件和Java虚拟机的配置,在服务器运算的过程中,动态的判断当前并发访问的所占用的资源是否达到预设值,如果已经达到预设值,则控制新进访问线程。
这种动态并发控制,和简单的并发数控制结合使用,更加灵活,更加合理。
缓存报表执行结果
在并发访问的机制下,经常出现同一报表被不同用户连续多次重复访问,此时如果能够把第一次算出的报表缓存下来,再次访问时直接从缓存中读取,则可以大大减少服务器的运算消耗。并且因为节省了报表的执行过程,可以大大加快访问速度。
对于带有参数的报表,当用户采用相同的参数进行重复访问时,也可以利用缓存,减少重复的计算。对于带有不同参数的报表会缓存不同的报表执行结果。因此如果第二次这第一次执行的参数不一样,报表就会重新计算,并缓存该报表和参数对应的结果报表。因此,对于有参数的报表来说,缓存时还必须识别参数的值。
打开菜单:服务器|缓存设置,设置报表直接结果缓存参数,如下图所示
500)this.width=500'>
|
|
回复:报表部署配置优化 |
nau_xiaoyao(游客)发表评论于2010/7/6 9:29:52 |
很酷很火
|
|
回复:报表部署配置优化 |
zhushao(游客)发表评论于2010/7/2 17:22:00 | 很好很强大
|
|
回复:报表部署配置优化 |
fantasydr(游客)发表评论于2010/7/1 17:39:32 | 技术贴支持,很不错的软件
|
|
» 1 »
|

.: 公告
本博客提供详细的java报表软件的制作过程,发布java报表软件的版本更新信息,并适时对国内主流报表软件进行功能比较。 |
|
« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
|
.: 我的分类(专题)
|

.: 最新日志
.: 最新回复
|

blog名称:Java报表软件 日志总数:357 评论数量:69 留言数量:0 访问次数:1213925 建立时间:2006年4月16日 |
|

.: 留言板
|

.: 链接
|

|