办理J2EE系统操纵性能问题常用优化项目[Java编程]
本文“办理J2EE系统操纵性能问题常用优化项目[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
性能问题的最明显表现是网页的呼应时间变慢.在J2EE系统中,常常表现有下面更为基本的症状:
利用服务器资源的利用情形
JVM堆的利用情形
系统资源的利用情形
数据库资源的利用情形
网络活动
这些现象表明J2EE利用依靠很多外部资源,并且是运行在一个层次化的履行情势的环境中:
由于Java虚拟机和利用服务器掩盖了操作系统和硬件的特点,所以在计划软件系统时,架构工程师更应当深化理解整个操作环境.
在计划软件系统时,架构工程师应把性能和可扩大性放在首位,然后开始探求简单办理的问题,反映时间迟钝普通的缘由是拜候数据库效率低和过量地调用远程对象和办法.接下来,架构工程师可持续探求不明显的缘由,比方算法的积累影响和不必要的开销.
目前市场上的各个J2EE利用服务器有很多配置项目.这里只简单介绍一些常见的性能优化配置项目.
很多利用服务器都有一些与J2EE标准有关的操作系统配置项目或非尺度的特点,这可以提高系统性能.应当化时间来理解这些性能配置.
Java虚拟机堆和垃圾回收设置
任何Java利用的性能调整底子都触及到堆的大小和垃圾回收设置.(这里主要谈论Sun HotSpor JVM).
堆可分为三代,年青的(新的),年迈的和长期的.Hotspot JVM的内存基本配置包含最大堆大小,初始堆大小和年青一代堆的大小.当配置最大堆大小时可参考下面一些指导:
最大大小应小于物理内存,避免虚存的页面调度.
需求减去其他进程利用的内存
在负载测试时举行优化
注意不要将最大堆大小设置得过大.堆越大,内存中保存的对象越多.内存中对象越多,回收历程时间越长.
配置初试堆大小的普通性战略包含:
将初始大小设置为最大堆大小
将初始大小设置为最大堆大小的1/4到1/2
关于年青一代堆大小,Sun 举荐是设置为最大堆大小的1/3.
也可以挑选差别的垃圾回收算法.首先是增量垃圾回收.该算法的意思是削减单个对象回收停登时间,这样的后果是整体回收性能的下降.该算法将彼此引用的对象分组,然后尝试按组回收.尝试回收的部份越小,回收处理的时间常常会越少.
1.4.1版的HotSpot JVM增添了两个垃圾回收算法:并行算法和并发算法.
在年青一代堆中实现了并行算法.在多处理器的机械上,这种回收算法利用了多线程来提高性能.固然这个算法会暂停全部的利用线程,但是由于操纵了多个CPU使得回收时间非常快.在年青一代堆中,该算法明显地削减了回收带来的停顿.
在年迈一代堆中实现了并发算法.在利用中最大限度地履行并发.回收历程分为4个阶段,覆盖了可回收对象的标志和排除操作.前两个历程会暂停利用线程,后两阶段可与利用并发履行.并发垃圾回收算法的"最大限度并发"特点可以使JVM操纵更大的堆和多个CPU.因此应关注由于采取缺省的mark-compact(标志-压缩)和stop-the-world(停顿全部处理)等垃圾回收算法所带来的耽误和吞吐量问题.
以上是“办理J2EE系统操纵性能问题常用优化项目[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |