扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共2页)
应用服务器资源的使用情况
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使得回收时间非常快。在年轻一代堆中,该算法显著地减少了回收带来的停顿。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者