网站大量收购独家精品文档,联系QQ:2885784924

类excel报表发工具FineReport教程之服务器性能优化:并发数.pdf

类excel报表发工具FineReport教程之服务器性能优化:并发数.pdf

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
类excel报表发工具FineReport教程之服务器性能优化:并发数

类excel报表开发工具FineReport教程之服务器性能优化 :并发 报表工程总是和用户系统集成在一起 ,当服务器性能吃紧时 ,占用服务器资源的可能是报表 引擎,服务器下的其他应用程序。因此,减少任何一方对服务器资源的占用 ,都可以缓解压 力。当报表引擎已经没有优化余地时 ,如果服务器资源依旧吃紧 ,可以进一步对服务器整体 进行优化,如优化服务器连接数等。 报表并发控制 模板结果缓存与共享 1.问题描述 对报表进行访问时 ,若模板的数据很大 ,每次访问都会从服务器端重新读取数据 ,这样 就加大了服务器的压力并且导致访问报表的速度变慢 ,为此可以设置模板缓存 ,使访问过模 板后再次访问该模板时直接从缓存中读取而不需要从服务器端重新读取以此来减小服务器 的压力以及提高报表的访问速度。 1.1读取模板缓存数据的条件 必须是相同模板如该模板有参数则必须输入的参数值是相同的 ,即模板的展现结果是相 同的。 2.原理 下面我们以一个例子看下原理 客户端A访问服务器上的报表设计模板,从数据库中读取,生成想要的模板结果文件 , 缓存到某处,并传回客户端。 而客户B访问服务器此模板时 ,若返回的结果与客户端A访问放回的结果相同 ,于是不 从数据库中的读取,直接去拿A缓存的那些文件,然后传回客户端。 由此可以看出从缓存取模板结果远快于从数据库中读取数据。 3.设置方法 可以对单个模板进行缓存设置 ,可以对所有模板进行缓存设置 ,下面我们分别看下设置 方法。 3.1单个模板的缓存设置  缓存设置 在访问报表的路径后加 __cache__=true ,表示该报表启用缓存,如: http://localhost:8075/WebReport/ReportServer?reportlet=GettingStarted.cpt __cache__=true。 注 :只有在访问模板的url后加__cache__=true ,才会生成缓存数据 ,并且也只有在url 后加__cache__=true时,才会从缓存中读取数据。  缓存有效时间设置 选择菜单模板模板web属性即可设置,如下图: 如某报表执行需要 5秒中,设置的报表缓存有效时间为 10秒,用户A第一次访问该报 表时,会将报表结果缓存下来,缓存时间为15秒; 从A刚开始访问报表的15秒内 ,若用户 B同样访问了该报表,将直接获取A访问时的 计算结果。 3.2所有模板的缓存设置 进入 FR平台系统中,选择管理系统系统管理缓存 ,勾去重新读取模板就可以启用缓 存了。 注 :是否重新加载报表意味着是否读取缓存 ,如果不重新加载报表 ,那么就是读取缓存 的同一张模板的信息;如果重新加载报表,就是不读取缓存信息,重新运行报表。 服务器线程数优化 1.服务器线程概念 一般服务器都需要承受较高的访问量 ,能够同时响应不同用户的请求 ,在服务器中使用 线程来处理接收的每个请求 ,若能够合理管理线程数 ,服务器就能够更好的在恶劣环境下保 持较高的稳定性和健壮性。 各Web服务器管理线程主要用到如下几个参数: 最小线程数:服务器最少保证的线程数; 最大线程 :服务器并发处理的最大任务个数 ,超过该数时 ,请求会进入等待 ,等待空 闲线程; 最大等待时间 :服务器线程数超过最大线程数 ,进入等待的请求 ,超过最大等待时间时 , 服务器会绝此次请求,返回connection refused。 2.如何设置服务器线程 一般的服务器操作都包括量方面:计算(主要消耗cpu)、等待(io、数据库等),最 重要的参数就是 “最大线程数” : 第一种极端情况 ,如果我们的操作是纯粹的计算 ,那么系统响应时间的主要限制就是cpu 的运算能力,此时最大线程数应该尽量设的小 ,降低同一时间内争抢cpu的线程个数,可 以提高计算效率,提高系统的整体处理能力。 第二种极端情况,如果我们的操作是纯粹IO或者数据库 ,那么响应时间的主要限制就 变为等待外部资源,此时最大线程数应该尽量设的大 ,这样才能提高同时处理请求的个数, 从而提高系统整体的处理能力。此情况下因为tomcat同时处理的请求量会比较大,所以需 要关注一下tomcat的虚拟机内存设置和linux的openfile限制。 而现实应用中 ,我们的操作都会包含以上两种类型 (计算、等待),所以最大线程数的 配置并没有一个最优值,一定要根据具体情况来配置。 最好的做法是:在不断测试的基础上,不断调整、

文档评论(0)

xyl118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档