首页 > 其他分享 >皕杰报表之性能管理

皕杰报表之性能管理

时间:2022-12-21 17:00:13浏览次数:41  
标签:缓存 报表 管理 行式 性能 导出 引擎 内存

1 报表缓存

当某个客户端访问某个报表,引擎将其计算出来后,会将运算结果缓存下来,之后如果再有别的客户端用相同的参数访问同一个报表,引擎会将缓存下来的报表结果直接返回给该客户端,而不会重新计算报表。

这种缓存方式在大用户并发的情况下可以大大的提高性能,缓解服务器的计算压力。同时,当同一个客户端访问完该报表后,如果需要对同一报表结果进行别的操作,例如打印、导出、翻页等,引擎也直接从缓存里取报表结果,而不必重新计算。

缓存报表的存储有两种方式:一、直接存到硬盘上 二、同时存到内存和硬盘,在内存中处于软引用状态。当内存够用时一直在内存中保持着,引擎需要的时候直接从内存中取,交互速度快,当内存不够时缓存被当成垃圾回收,引擎需要的时候从硬盘上读取。

皕杰报表还支持缓存组,即根据缓存的缓存时间不同,将报表分组缓存。

缓存组的设置方法:点击报表根格,选中报表,在右侧属性的缓存组属性中设置缓存组名称,该名称要与配置文件中<group>节点的name属性保持一致,同时在该标签中可以对缓存中的最大对象数及缓存时间进行设置。可同时设置多个缓存组,即可以有多个<group>节点,但<group>节点的name属性值不能重复。

如果报表没有设置缓存组,则执行默认缓存时间。

2 并发控制

当报表引擎已经没有优化余地时,如果服务器资源依旧吃紧,可以控制应用服务器的并发数。不同的应用服务器,其并发数的控制机理会略有区别,具体的配置方法请参见服务器厂商提供的文档。

3 JVM内存

JVM堆栈内存是决定应用服务器性能的关键指标,由于JAVA的自动垃圾回收机制以及其屏蔽了指针的应用,导致了JAVA程序占用的内存总是比C语言程序占用的内存大,因此JAVA程序最常见的性能问题就是内存溢出, 当内存不够时,可以加大JVM堆栈内存,最大可以加到2G(32位的JVM)

4 按需取数

当报表数据量很大,结果报表格子数也很多的时候,如果报表的运算并不复杂,没有跨行组的运算,可以采用按页取数的办法,该办法可以从根本上缓解大报表的内存压力。

该办法的原理是:每次只取出一页数据进行报表运算,当翻页时取下一页数据进行运算,这样每次内存中只保留一页的数据,大大加快了运算速度,减轻了内存压力。

用户根据数据量的大小可以创建不同的报表类型,当数据量较少,可直接用“普通报表”,若数据量过大,有可能影响运行速度的话,可使用“行式报表”。

5 流式导出

“行式报表”解决了报表在浏览器上展示时的性能问题,但是当“行式报表”导出excel时,依然会遇到性能问题,可以采用把导出格式配置诚xlsx格式的方式来解决这个问题。

该方式的原理是:无论报表是否是“行式报表”,xls格式导出都是采用Java对象方式来操作Excel文件。而导出为xlsx格式则是根据报表类型不同而采用不同的技术手段,当报表为“行式报表”时,采用数据流的方式来操作Excel文件,否则采用Java对象的方式。

采用Java对象方式操作Excel文件,快,但是耗用内存多;采用数据流方式操作Excel文件,慢,但是耗用内存少。

标签:缓存,报表,管理,行式,性能,导出,引擎,内存
From: https://blog.51cto.com/u_15679792/5960022

相关文章

  • SQLServer2017管理工具的数据库还原操作
    原文链接:https://blog.csdn.net/qq_21209307/article/details/104992642还原数据库选择数据库点击右键选择还原数据库。在弹出的框内选择设备,点击输入框后面的“…”按钮,......
  • 大型三甲医院HIS系统源码 县乡一体医院管理系统源码 门诊住院医嘱药房药库发药管理系
    his系统源码,适用在县乡一体化,医联体分级诊疗项目上,​​本源码开发语言asp.net​​c#,数据库sqlserver2012,开发工具vs2015。技术框架mvc、ef等HIS英文全称hospitalinformat......
  • 默认管理员模式运行cmd
    一.本地安全策略1.1如果本地已经有本地安全策略,跳过此步1.2首先在任意地方创建一个.txt文件1.2.1内容如下:@echooffpushd"%~dp0"dir/bC:\Windows\servicing\P......
  • 管理经验
    10年时间把IT研发团队从10人扩大到600多人,有自己的努力,更多的是靠运气(平台和机遇)。为了让团队能变的更好,创造更多的价值,让员工更有成就感和归属感,我每天学习,努力提升自己......
  • 弱网络环境下,网络性能优化
    1、采用TCP协议、实现长连接2、采用长连接池,节省握手时间3、采用ProtocolBuffer,减少冗余数据(相比xml)4、弃用DNS,直接使用IP,减少了请求DNS服务查询IP的时间,避......
  • SQL Server 2019性能测试
    SQLServer2019性能测试测试环境:❤客户端操作系统:windows10x64❤ODBC驱动:MicrosoftODBCDriver17forSQLServer❤IDE:VisualStudio2017一、速度测试......
  • RFID物资管理系统解决方案-RFID智慧物资管理-杭州东识科技
    1.1项目背景市场竞争日益激烈,提高生产效率、降低运营成本,对于企业来说至关重要。目前,仓储管理系统通常使用条码标签或是人工仓储管理单据等方式支持自有的仓储管理。但是条......
  • 长租公寓管理系统,漳州这类住房困难群体优先保障
    版权声明:本文章由“厦门多米克信息技术有限公司”编辑组汇编而成,未经授权和许可,任何个人或媒体不得对本网站的文章及其他信息资料予以复制、转载、抄袭、改编。厦门多米克......
  • 智慧社区管理系统,完善长租房政策扩大保障性租赁住房供给
    版权声明:本文章由“厦门多米克信息技术有限公司”编辑组汇编而成,未经授权和许可,任何个人或媒体不得对本网站的文章及其他信息资料予以复制、转载、抄袭、改编。厦门多米克......
  • 【运维有小邓】Active Directory的NTFS权限报表程序
    使用此简化的NTFS权限工具分析和优化共享权限和访问控制列表(ACL)。ADManagerPlus是我们的ActiveDirectory管理和报表解决方案,可以兼用作共享文件夹权限报表工具。它提供预......