J2EE运行环境性能大优化艺术之一 |
作者:佚名 发布时间:2005-04-02 来源:不详
|
J2EE即Java 2企业版, 当的技术缩写词之一。虽然 善于开发J2EE应用的人就更 们熟知的Servlet、JSP之外 不少实现了J2EE规范的应用
|
或Java 2 Enterprise Edition 有许多人乐意谈论J2EE,但真正 少了。J2EE本身是一系列规范的 ,还包括EJB以及支持构建企业 服务器产品,其中包括:
|
,最近几年已经跃升成为几个响当 能够胜任J2EE开发的人不是很多, 集合,涉及诸多技术,除了包括人 应用的整个基础设施。当前已经有
|
◆ Oracle Application Server |
和其他技术一样,对于 态是一门艺术,优化应用的 行基础设置,同时还要求深
|
J2EE来说,构建一个健壮的、可 运行环境也是一门艺术。掌握这 入观察应用的运行情况。
|
伸缩的应用并保证其运行在最佳状 门艺术的关键在于分析应用及其运
|
这个系列的文章主要探 的基本概念,介绍性能优化
|
讨J2EE应用和应用服务器的性能 对于J2EE应用的意义,阐述J2EE
|
优化问题。本文首先介绍性能优化 环境中可优化的性能因素。
|
在深入探讨J2EE应用以及它下面的应 化到底是什么,因为在不同的场合性能优 能优化的目标就是提高下面几个指标:并
|
用服务器的优化问题之前,首先我们要搞清楚性能优 化这一概念有着不同的含义。就本文的讨论而言,性 发用户数量,吞吐量,可靠性。
|
换句话说,我们希望让应用更快地为更多的用户提供服务,且保证服务过程不会中断。 |
当一个应用的性能未能满足要求,应 硬件设施?如何通过调整几个应用服务器 问题都是实践中经常会遇到的问题,但遗 ,首先考虑的就是增加硬件设备。增加硬 维护费用和硬件体系的复杂程度(更不用
|
当从哪里入手改善其性能?怎样的情况下才必须增加 的参数,获得比添加硬件设备更好的性能效果?这些 憾的是,许多单位在看到应用的性能未能满足要求时 件设备无疑会提高应用的性能表现,但同时也会增加 说购买硬件设备本身和软件许可的费用了)。
|
我们的目标应该是首先 硬件设备。从长远来看,单 前的性能危机,但问题仍旧
|
从现有的应用和应用服务器榨取 纯靠添加硬件来提高性能很难获 存在,一旦负载增加了又会出现
|
最大的性能,在此之后才考虑添加 得好效果:虽然有可能暂时解决眼 。
|
在应用服务器上运行应用,评估其在 能够支持的最大并发用户数量。响应时间 SLA,参见用 SLA 保证 Web 服务 )定义 被认为不可接受。对应用进行负载测试时 行过程中出现的典型事务,因为后来的性 试的事务不够典型,就不能有效地保证应
|
不能响应请求或响应请求所需时间超出许可范围之前 可以由服务水准协议(Service Level Agreement, ,规定一个请求允许消耗的最长时间,超出该时间就 很重要的一点是必须确保测试过程反映了应用实际运 能优化措施将针对负载测试的结果进行。如果负载测 用能够象测试环境中表现地那样为用户提供服务。
|
应用和应用服务器的吞 和应用服务器的运行是否正 调整,来尽可能地提高服务
|
吐量可以用每秒完成的事务数量 常,指出了服务器的能力。我们 器的吞吐量。
|
来表示,它从一个侧面反映了应用 的目标是通过应用和应用服务器的
|
除了支持最大数量的并 败的次数。Web服务器都可 工作就是确保用户能够收到
|
发用户、可接受的响应时间之外 能出现故障,最主要的原因是网 他请求的信息。
|
,另一个要求就是尽量减少请求失 络延迟或超时,而我们优化的主要
|
虽然一些性能监测和优 的代码,或者在于应用服务 再好,如果应用服务器的配 掩盖应用代码中存在的缺陷 效的代码,在此基础上再来
|
化专家会试图让你相信某个企业 器,但实际上,性能与这两者都 置不当,性能也不会好;同样地 。因此,首先要保证应用有一个 集中精力调整应用服务器。
|
应用的性能瓶颈或者在于应用本身 有着密切的关系。应用的代码写得 ,应用服务器调整得再好,也难以 稳固可靠的体系结构,有最优质高
|
就优化性能而言,应用本身的优化属 然后找出满足业务需求的最优解决方案。 在适用于所有业务领域的万能解决方案。 在规划应用的体系结构时合理选用设计模
|
于最艰巨的步骤之一。首先要深入地分析业务逻辑, 每一个业务领域都有其与众不同的特点,因此也不存 然而,人们在实践中总结出了许多优秀的设计模式, 式对性能大有好处。
|
选择应用服务器需要考虑许多因素, 器厂商的表现,性能,等等。本文后面的 IBM WebSphere,Oracle Application Se
|
至少包括:应用服务器的价格,硬件部署,应用服务 讨论主要针对下面四种服务器:BEA WebLogic 7, rver,JBoss。
|
应用开发完毕、服务器 整这些选项无疑也能够提高
|
选定之后,还要考虑操作系统和 性能。
|
Java虚拟机的配置选项,适当地调
|
许多J2EE应用需要访问 的领域,但它决不是一个可 总是迟迟不能响应,应用的
|
后端资源,例如关系数据库。虽 以忽略的问题。即使应用在其他 整体性能必将大受影响。
|
然后端资源的优化已经超出了J2EE 方面都做得很好,如果后端数据库
|
结束语:本文的目标是阐明性能优化 量和稳定性。同时,本文还介绍了性能优 方法学的角度探讨J2EE的性能优化问题。
|
的具体含义,即提高应用支持的并发用户数量、吞吐 化应当从哪些方面入手。在下一篇文章中,我们将从
|
|
|
|
|
|