软件频道>程序开发>JavaVBVCDelphiC/C++Web开发微软专栏移动数据库程序人生软件工程|Java 运行时监控
您现在的位置: 天极网 > 开发频道 > 解决J2EE系统应用性能问题常用方法
全文

解决J2EE系统应用性能问题常用方法

2007-07-07 06:00作者:出处:论坛整理责任编辑:webbtob
在年老一代堆中实现了并发算法。在应用中最大限度地执行并发。回收过程分为4个阶段,覆盖了可回收对象的标记和清除操作。前两个过程会暂停应用线程,后两阶段可与应用并发执行。并发垃圾回收算法的"最大限度并发"特点可以使JVM利用更大的堆和多个CPU。因此应关注由于采用缺省的mark-compact(标记-压缩)和stop-the-world(停顿所有处理)等垃圾回收算法所带来的延迟和吞吐量问题。

推荐:构建高性能J2EE应用的五种核心策略>>

处理线程

J2EE应用服务器是多线程的应用。应用服务器的线程是一种资源池,处理请求和和应用服务器的内部功能等任务共享这些资源。

很多应用服务器允许为特定的任务或应用配置不同大小的线程池。通常需要增加这些线程池的大小以满足应用负载的需要。

架构工程师应该避免将线程池大小设置过大,这是因为会增加上下文交换的次数,从而降低应用的性能。线程池的大小通常应该能最大利用机器上的CPU,同时又不能使CPU过载。

EJB配置项目

在应用服务器中,很多不同类型的EJB是以资源池的方式实现的。通常这些池大小和初始Bean的数量会明显影响应用的性能。

架构工程师应该避免将这些池大小设置的过大,这样会导致不必要地消耗JVM和操作系统内存。另外,将初始Bean数量设置过高会使得应用服务器的启动时间长的难以接受。

在应用服务器中,缓存很多不同类型的EJB。缓存大小和超时设置通常也会对应用性能带来显著影响。

架构工程师应该避免将缓寸大小设置过大,这同样会不必要地消耗大量JVM和操作系统内存。此外,应避免设置过长的超时--例如当EJB不用时,仍被缓存---,这也会导致不必要地消耗大量内存。

数据库配置项目

J2EE规范要求应用服务器厂商必须提供数据库连接资源池功能。通常增加数据库连接池的大小会提高性能。架构工程师应该考虑不同类型的SQL操作(例如事务型和批处理型)应使用不同的连接池。如果一个消息Bean执行批处理操作,那么应该为此另创建一个连接池,而不要与事务型操作使用同一个连接池。

很多J2EE应用服务器提供了Prepared Statement 的缓存功能。创建Prepared Statement是很耗费资源的。在事务型的J2EE应用中通常执行很多同样的SQL语句,只是参数不同而已。所以在应用中应发挥数据库配置项目的作用,尽量使用Prepared Statement。


  阅读关于 J2EE 系统 应用性能 问题 方法 的全部文章
共2页。 首页 上一页 1 2
相关搜索:
关注此文读者还看过
热门关注
特别推荐
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 Powered by 天极内容管理平台CMS4i
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众