加入收藏
|
设为首页
|
会员中心
|
我要投稿
|
RSS
首页
阅读中心
下载中心
影视频道
网上商城
FLASH频道
图片频道
文章中心
分类信息
网站建设
您当前的位置:
首页
>
阅读中心
>
软件学习
J2EE运行环境性能优化艺术之二
时间:2014-05-04 10:04:35 来源:不详 作者:佚名
前面一篇文章指出了性
,优化的手段则应当是从应
优化J2EE应用还是数据库、
该策略是否能够解决性能问
能优化的目的是提高应用支持的
用、应用服务器、平台、外部依
自定义的体系结构,最好的方法
题、确定实施该策略所需满足的
并发用户数量以及吞吐量、可靠性
赖因素入手作系统地调整。无论是
是先确定要采用的优化策略、分析
前提条件。
一、优化方法
虽然我也希望能够告诉
一个小小的表格就足以把这
仅要深入理解应用本身,而
你:优化J2EE环境很简单,只需
些值全部列出。遗憾的是,实际
且还要掌握用户使用该应用的方
要把某几个参数调整到特定的值,
问题要复杂得多,优化J2EE性能不
式。下图展示了完整的优化过程。
图2-1:调整性能因素的方法概览
第一个必须考虑的因素
根据问题的答案可以定义出
出的一系列请求)。注意这
这些事务的执行情况来调整
就是用户,我们必须先回答下列
一组要求系统执行的事务(在这
些事务必须能够典型地代表最终
系统!
问题:用户会怎样使用这个系统?
里,“事务”这个概念是指用户发
用户的操作行为,因为我们将根据
接下来,我们要在负载测试工具之内
、考虑时间、启动延迟等因素。
生成这些事务。负载测试工具能够控制并发用户数量
模拟大量用户的操作方式对应用进行
、外部资源的运行时性能指数。最后,有
分析和解释。
测试时,应当获取应用本身、应用服务器、底层平台
了这些性能指数之后,还必须对这些数据进行对比、
二、应用
每一个应用都是不同的
务需求也不同。例如,考虑
务显然应该是收取交易请求
Web网站的核心事务就不同
,以及处理购买信息。
:响应用户请求的服务步骤不同
一个合作伙伴通过Internet发送
,将交易请求提交给数据库,最
了,它的核心事务应该是提供一
,与后端资源的交互方式不同,业
和处理交易请求的应用,其核心事
后返回回执。相比之下,电子商务
个可购买产品的目录,维护购物篮
既然所有应用都是不同的,那么它们
具体情况指定不同的应用服务器配置。优
务需求,定义一组精确反映最终用户操作
用会在实际运行环境中有好的表现。
使用应用服务器资源的方式也不同,必须针对应用的
化性能过程中最为重要的一个步骤就是:深入理解业
方式的典型事务。如果这一步没有做好,很难指望应
三、负载测试
负载测试工具是一种能
许多这类工具(参见本文后
够模拟任意数量的用户与系统交
面的目录),虽然这些产品各有
互过程的工具,当前市场上已经有
特色,但它们的核心功能不外乎:
◆ 能够针对应用系统执行用户定义的事务,保证适当的事务频度。
◆能够控制负载测试中并发用户的数量。
◆能够精确调整测试器
用户数量的速率。
在下列各方面的行为:两个请求
之间用户的思考时间,上升到目标
大多数商业负载测试器
引擎则在后台观察和记录测
还提供了一个“学习”引擎,它
试者的动作。
允许测试者手工执行事务,而学习
总之,负载测试工具的目的是模拟实
一组典型的测试事务,就不能将应用精确
际运行环境中用户的操作方式。如果不能为应用定义
地调整到最适合实际用户的状态。
四、需要哪些信息?
现在,我们已经有了模拟一系列并发
型地代表了应用使用情况的事务。接下来
包括:
用户的负载测试工具,每一个并发用户都能够运行典
要做的是从应用和应用服务器获取运行时性能信息,
◆应用服务器统计信息:内存使用情况,数据库连接使用情况,线程使用情况,等等。
◆应用性能(内部):类和方法的响应时间,调用路径,异常方法,等等。
◆应用性能(外部):负载测试器观察到的事务总量、构成事务的请求量。
◆平台性能:CPU,进程,等等。
◆后端资源性能:数据库性能,传统系统性能,等等。
五、如何获取这些信息?
我们主要探讨如何获取
出了本文的范围。不同的应
据的机制,Sun发布了Java
还未被所有的应用服务器厂
JMX作为管理API,并通过JM
自私有的获取运行时信息的
具。
应用和应用服务器的性能数据;
用服务器以不同的方式提供运行
管理扩展(JMX,即Java Manage
商采用,但BEA WebLogic、IBM
X导出其配置和运行时信息;其
办法,或者是通过提供几个专用
硬件、后端资源的性能数据已经超
时性能数据,为了统一获取性能数
ment Extension)。虽然目前JMX
WebSphere 5、JBoss都已经选择
他的应用服务器厂商也都提供了各
的Servlet,或者是通过命令行工
相比之下,获取应用的
能,报告最基本的性能信息
代码指令既可以直接嵌入到
某种方式导出到外部;或者
性能数据就比较复杂一些。虽然
,但一般而言,获取应用性能数
应用体系之内,例如在应用中嵌
也可以利用一个独立的进程,由
一些应用服务器能够监视应用的性
据首选的办法还是通过代码指令。
入一些监视性能的代码,然后通过
该进程监视应用代码的运行情况。
有许多商业软件厂商已经实现了能够
就不必对应用本身大动干戈,只要把应用
就会自动在创建应用的类时开始监视。
连接到应用服务器的类装入器的代码指令,这样我们
部署到安装了监视设施的应用服务器上,应用服务器
在代码监视期间到底要
时间,大到记录每一个发送
影响,收集的数据越多,监
收集哪些信息通常是可配置的,
给应用服务器的事务。不同的监
视操作的开销就越大,反之亦然
小到仅仅记录某个特定方法的响应
视要求带来对系统的不同的开销和
。
六、比较和分析数据
前面我们探讨了如何在
的运行时性能数据,接下来
性能的影响。如果要简略一
组数据,但大多数商业软件
用路径,有的还有缩放功能
时可以当作指示性能问题的
应用系统上用模拟负载进行测试
要做的就是比较和分析获得的数
点,这些数据可以用简单的折线
都提供了很强大的表现能力——
。一些商业软件还能够显示出对
专用指示器。
,以及如何获取应用和应用服务器
据,搞清楚每一个数据指标对系统
图来表示,每次显示出一组或者多
包括用图形的方式来描述树形的调
比不同指标的运行时数据视图,有
结束语:在考虑优化性能的方法时,
终用户事务,对应用进行负载测试;第二
分析性能数据,在此基础上调整相关的性
通常下列三个步骤是必不可少的:第一,用典型的最
,从应用服务器和应用获得运行时性能数据;第三,
能选项。
优化J2EE环境是一个需
,然后测试、分析系统,再
于最佳状态。
要反复进行的过程:第一次只能
根据测试结果调整、配置系统,
从一个看起来似乎不错的配置开始
如此才能让应用的性能表现一直处
在下一篇文章中,我们将分析应用服
用服务器声称自己遵从J2EE 1.3规范时,
因素?
务器的一般体系结构,回答下列问题:当一个J2EE应
它应该提供哪些功能?它们各涉及哪些可调整的性能
七、附录:工具软件
许多集成开发环境带有完善的测试和监视、诊断工具,但下面只列出一些专用产品。
负载测试工具:
◆LoadRunner,由Merc
ury Interactive公司开发,属
于最受欢迎的产品之一。
◆Benchmark Factory
,由Quest Software公司开发。
◆The Grinder,源代码开放产品。
监视工具/诊断工具:
◆PerformaSure,由Quest Software开发。
◆Interscope,由Wily开发
◆Indepth,由Precise开发。
来顶一下
返回首页
发表评论
共有
条评论
用户名:
密码:
验证码:
匿名发表
推荐资讯
后牧工业区厂房1500平
现实的童话公主艾米·
科比专为大场面而生
“最美清洁工”原是《
相关文章
无相关信息
栏目更新
栏目热门
站内搜索:
新闻
下载
图库
FLASH
电影
商品
文章
分类信息
高级搜索
网站首页
|
关于我们
|
服务条款
|
广告服务
|
联系我们
|
网站地图
|
免责声明
|
WAP
服务专员1
技术支持
SunC
Soft
© 2002-2013
SunC