动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > J2EE/J2ME教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ J2EE/J2ME教程 ]的信息

本月文章推荐
.在J2EE中APPLET和HTML作为客户端.
.应用双缓冲技术解决画面闪烁的问.
.MIDlet国际化——JSR238.
.sqlserver2000h和jdbc的融合问题.
.对J2EE中的DAO组件编写单元测试.
.使用Canvas制作MIDlet的欢迎界面.
.JavaRMI-IIOP入门.
.小议在Servlet中如何捕获Session.
.JSP中读取HTTP Header.
.使用NetBeans5.0建立JAX-WS2.0服.
.使用Servlet动态生成图片.
.Servlet容器工作原理(四).
.如何在JSP中实现Forward.
.赛车游戏(二)一个Mascot Capsule.
.开发第一个J2EE、配置J2EE环境及.
.如何用IIS来实现OTA下载.
.MoreJSP编程实践(中).
.读《JSR-184里封装照相机的look-.
.扫描屏幕和颜色渐变的效果.
.JBOSS4.0 JDBC数据源配置大全(一).

解决J2EE系统应用性能问题常用优化项目

发表日期:2007-12-23 |


性能问题的最明显表现是网页的响应时间变慢。在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应用服务器是多线程的应用。应用服务器的线程是一种资源池,处理请求和和应用服务器的内部功能等任务共享这些资源。

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

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

EJB配置项目

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

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

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

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

数据库配置项目

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

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

(出处:http://www.knowsky.com)


上一篇:构建高性能J2EE应用的五种核心策略 人气:875
下一篇:简析J2EE应用程序中数据库类的设计模式 人气:1003
浏览全部J2EE/J2ME的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-12-1 MyBB v1.4.4 简体中文版 bulid 2
2008-12-1 新云网站内容管理系统 v4.0.0.11
2008-12-1 网趣网上购物系统时尚版 v8.8
2008-12-1 Textpattern v4.0.7 多国语言版
2008-12-1 Piwik ( PHP统计系统,可以和GOOG
2008-12-1 天空网络电影系统SKYUC! v2.6.2
2008-12-1 SiteDynamic企业网站管理系统 v1
2008-12-1 KindEditor HTML在线编辑器 v3.0
2008-12-1 0451sky高校教务管理系统2008 v4
2008-11-29 Tencent Traveler 4.4
2008-11-29 龙卷风网络收音机 v3.0.0.0
2008-11-29 Intel Chipset Software Install
2008-11-29 TweakVI 1.0 Build 1100
2008-11-29 Opera 9.62 Build 10469
2008-11-29 MPlayer WW编译版 SVN-r28044(20
2008-11-29 NetTools网络工具v1.0.0破解版
2008-11-29 3DGallery三维体验1.1破解版
2008-11-29 SecretBook保密本v1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | OPEN参数生成器 | 弹出式窗口代码产生器 | 密码登录生成器 | 在线按钮生成器 | Meta标签生成器 | 多色彩特效字代码生成器 | 网页代码调试器 | 在线FTP登陆 | Flash取色器 | 配色代码对照表 | 配色辞典 | CSS生成器 | 广告代码 | 框架网页代码生成器 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | 在线调色板 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 元素周期表 | 健康查询 | 世界时间 | 万年历 | 二十四节气 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2009 www.knowsky.com All rights reserved | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成