文档章节

报表性能优化方案之报表服务器优化基础讲解

朕想上头条
 朕想上头条
发布于 2015/09/06 09:52
字数 1172
阅读 18
收藏 0

一、内存

JVM堆栈内存是决定应用服务器性能的关键指标,一般服务器默认的内存配置都比较小,在较大型的应用项目中,这点内存是不够的,因此需要进行查看与修改Web服务器内存大小,接下来就介绍服务器内存查看的方法以及不同服务器内存的修改方式。

各应用服务器的内存配置方法不尽相同,如下列出了常用服务器的JVM参数(-Xms,-Xmx)配置方法。

JVM参数定义:

- Xms: 初始化内存大小

- Xmx: 可以使用的最大内存

以下示例工具:报表开发工具FineReport

二、服务器内存的查看

如果您想要查看应用服务器的内存配置情况,可以启动Web服务器,进入平台系统,URL地址为:http://localhost:8080/WebReport/ReportServer?op=fr_platform,选择管理系统>系统监控>系统状态>内存使用情况,即可查看到当前web服务器的内存使用情况,如下图:


注:如果用户购买了数据决策系统,那么URL地址可以输入http://localhost:8075/WebReport/ReportServer?op=fs

其中:

空闲内存:204M是指可用剩余内存为:204M。

所有内存:247M是指当前调用的内存为:247M。

最大内存:494M是指可调用的最大内存为:494M。

三、FineReport内存机制

3.1 描述

在使用报表的过程中有时候会遇到内存溢出的问题,下面简单介绍我们报表的内存机制以及怎样释放内存。

3.2 内存机制

3.21内存回收机制

Java的内存垃圾回收(GC)机制是从程序的主要运行对象开始检查引用链,当遍历一遍后发现没有被引用的孤立对象就作为垃圾回收。GC为了能够正确释放对象,必须监控每一个对象的运行状态。包括对象的申请、引用、被引用、赋值等,GC都需要进行监控。

在Java中,这些无用的对象都由GC负责回收,同时java提供了函数可以访问GC, 如运行GC的函数System.gc(),但是根据Java语言规范定义,该函数不保证JVM的垃圾收集器一定会执行。因为不同的JVM实现者可能使用不同的算法管理GC。通常GC的线程的优先级别较低。JVM调用GC的策略也有很多种,有的是内存使用到达一定程度时,GC才开始工作,也有定时执行的,有的是平缓执行GC,有的是中断式执行GC。

导致内存泄漏主要的原因是,先前申请了内存空间而忘记了释放。如果程序中存在对无用对象的引用,那么这些对象就会驻留内存,消耗内存,因为无法让垃圾回收器GC验证这些对象是否不再需要。如果存在对象的引用,这个对象就被定义为"有效的活动",同时不会被释放。要确定对象所占内存将被回收,我们就要务必确认该对象不再会被使用。

3.22 中内存管理释放机制说明

FineReport报表后台采用的是纯java语言编写, 因此其内存释放机制与上述保持一致,当客户端与服务器端交互结束(如关闭浏览器页面, 打印结束等), 服务器端会将之前客户端操作消耗的内存释放掉, 即置为可被回收状态, 等候jvm调用gc

3.3中的手动GC方法

FR在1G内存下的临界点应该在130w行*5列左右, 对于某些集成环境来说, 有可能是需要做某些操作后, 将FR占用的内存释放掉, FR里面也提供了响应的接口, 具体使用方法如下所示:

在一个模板中添加一个按钮, 给按钮加上点击事件, 或者直接在js中调用, 内容如下:

  $.ajax({  
        url : FR.servletURL,  
         data : {  
              op : 'fr_utils',  
            cmd : 'gs_gc'  
             },  
        async : false,  
    })


© 著作权归作者所有

朕想上头条
粉丝 0
博文 43
码字总数 46678
作品 0
南京
私信 提问
报表性能优化方案之报表取数

取数原理 设计器拼出最终的SQL,将SQL语句传给数据库,数据库执行,将数据返回给设计器。 由于计算过程首先要通过SQL语句从数据库中取数据,我们可以通过控制数据量的大小和对数据的提前预处...

九月你好123
2015/09/21
67
0
开源 BI 系统相关知识综合解读

这些众多的BI(商业智能)项目从规模和对BI系统支撑的完善程度上来说,大体可以分为Framework、Stand-aloneTools和BISuit三种类型。 Framework 开源框架,这是在商业BI系统中所没有的。我们可...

红薯
2009/05/05
843
0
报表性能优化方案之报表服务器优化基础讲解

内存 JVM堆栈内存是决定应用服务器性能的关键指标,一般服务器默认的内存配置都比较小,在较大型的应用项目中,这点内存是不够的,因此需要进行查看与修改Web服务器内存大小,接下来就介绍服...

九月你好123
2015/09/09
120
0
ActiveReports 8 SP1 新特性介绍

ActiveReports 8 SP1 新特性介绍 ActiveReports 8 SP1 新特性 地图控件支持多种地图提供器 地图控件(Map)使用新增的地图提供器来支持数据虚拟化功能,包含Bing Map,Google Map,MapQuest,...

葡萄城技术团队
2014/08/18
729
0
浅谈ActiveReports 8 报表服务器

ActiveReports 8 报表服务器是一款支持多用户报表操作,权限分配、安全扩展,数据缓存和报表性能优化的报表服务器产品。通过它开发人员可轻松地将报表部署到报表门户网站,并提供报表集中管理...

冬四拉
2014/04/08
116
0

没有更多内容

加载失败,请刷新页面

加载更多

PhotoShop 色调:理解直方图/RGB通道信息

一、直方图:图表的形式,展示图像像素分布的情况 1.平均值:表示平均亮度 2.标准偏差值:表示亮度值范围内的中间值 3.像素: 表示用于计算直方图的像素总数 4.色阶:显示指针下面的区域亮度...

东方墨天
14分钟前
5
0
wildfly(JBoss AS)应用服务器快速入门

什么是wildfly JBoss AS 从8版本起名为wildfly。Wildfly是一个开源的基于JavaEE的轻量级应用服务器。可以在任何商业应用中免费使用。 WildFly是一个灵活的、轻量的、强大管理能力的应用程序服...

程序新视界
38分钟前
2
0
Java集合类常见面试知识点总结

Java集合类学习总结 这篇总结是基于之前博客内容的一个整理和回顾。 这里先简单地总结一下,更多详细内容请参考我的专栏:深入浅出Java核心技术 https://blog.csdn.net/column/details/21930...

Java技术江湖
41分钟前
6
0
怎么用for循环打出爱心

先上效果图: 这是用*组成的爱心,下面讲讲思路: 首先这个图形可以拆分成三部分:第一部分是上面三行的两个梯形,第二部分是中间三行的长方形,第三部分是最下面的倒三角形。 其实图形拆分好...

INEVITABLE
47分钟前
4
0
用HttpUrlConnection伪造成HttpClient

https://www.jianshu.com/p/27ad06cc39d2

shzwork
53分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部