网站大量收购独家精品文档,联系QQ:2885784924

在生产中测量J2EE应用性能.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在生产中测量J2EE应用性能

J2EE性能测量 ?????性能只有在你决定测量性能的时候性能才是重要的。但一些人发现在测量性能的时候,很难确定需要测量哪个度量值,而且就算他们手头上有了这些信息之后也不知道该怎么办。结果导致了很多人开始竭尽全力地获得所有相关信息。这当然也导致了系统负载过重和获得一些看起来没有意义的信息。在这样的情况下,一些人完全放弃了测量,开始凭着他们的直觉对系统性能调优。 我们当然不能这么干,而应该系统地并且一步一步地对它进行测量。首先,理解为什么要测量性能和通过这些工作你想达到一个什么目标。如果你没有一个目标,那么就没有办法去完成了。 ?????接下来你需要理解你测量的东西和它们的意义。这可能需要创建一个模型用于跟踪你的数据。只有通过结合数据和模型,你才能获得有价值的信息。例如,预报天气需要一些数据:气温,湿度,大气压力等等。即使我知道它们的每一个值,如果我没有该地区的气候模型我还是不能预报那个地区的天气情况。原始度量值不易理解,在一个有意义的模型中度量值会更易于理解。 ? 测量的变量 ?????让我们开始看看我们的模型需要收集那些度量值信息。我们需要理解J2EE系统一些最基本的东西是: ?????反应时间(R) ?????吞吐量(X) ?????资源利用率(U) ?????服务请求(D) ?????反应时间用于测量完成一个特定请求需要花费多少时间。它是一个非常重要的度量值因为它是用户体验的一个指数。尽管这样,你必须确保你理解你测量的是什么--系统级的反应时间和Java组件级的反应时间完全不同(因为系统级包括像队列时间这样的变量)。 ????它同时也是不容易测量的度量值,因为它比其它的度量值更容易变化。因此你必需了解反应时间的分布。如果应用对你大部分用户的反应时间是2秒钟,而对10%用户的反应时间却是10秒钟,在这种情况下,你必须知道这个反应时间的分布,才能精确地评估该问题和解决它。这就要测量它们的反应时间并且得到它们的标准偏差,理想的情况是用一个柱状图把反应时间的分布显示出来。 ?????吞吐量指出系统在一段时间内能执行的交易量。它是系统处理负载能力的一个很好的指数,并且通常跟反应时间结合在一起。由于它不是以用户为中心的测量,所以对于一些非交互的系统或批处理工作,它是最值得考虑的。 ?????资源利用率是用于测量系统特定元素被利用了多少。这个度量值是系统的最底层情况的一个指数,因此对于容量规划是有用的。它也是非常容易理解的度量值,许多人通常都是从处理器和内存的利用率开始入手的,但它不是测量系统性能中最有用的。 ????我们发现更多使用的是处于请求中的资源。我们使用称为服务请求(D)的计算度量值显示特定资源或服务将怎样被利用。服务请求用以下公式计算: ????D=U/X ????这给了我们一个比较清晰的资源利用率,对于吞吐量是规范化的。 ? 相互关联的度量值 ?????上面这些度量值之间都有关系,理解它们的关系是创建J2EE性能模型重要的第一步。为了清楚理解它们,我们能够以图表的形式画出这些关系(见下图)。 ????通过这个图,我们可以更清楚看到一些东西。我们注意吞吐量(X)和反应时间(R)经常是成正比增长的。在实验室设置中,或者对于非交互的应用,我们通常将想获得最高的吞吐量。对于用户驱动的生产环境,我们通常想最大化吞吐量,而保持大部分请求时间低于或等于某个反应时间。例如,当保持95%的请求反应时间等于或少于2秒的时候,我们可能想最大化我们的吞吐量。由于这些限制,我们可能发现我们能够达到每秒100个交易的最大吞吐量。 ?????细看这个图,我们发现资源利用率通常控制着系统行为。这里有一个资源论点,它们认为资源竞争导致了吞吐量的急剧下降和提高了反应时间,吞吐量下降的量和增加的反应时间量是相同的,形成了扣环图。扣环图引起应用性能的服务下降,因为系统花费大部分的时间管理资源竞争而不是服务请求。创建一个系统性能模型看你的应用中这三个度量值是怎么个情况是很重要的。你也想知道:哪个度量值引起负载飙升以及这个度量值的精确值?知道了引起应用负载飙升的值对于在产品监控工具中设置报警值是非常有用的。 ? J2EE系统的一个模型 ?????确定了测量的度量值,我们现在准备开始把这些数据放到我们的J2EE模型中。图2显示了J2EE系统的样例模型: ?????我们看到J2EE系统由四个主要过程组成的:客户处理,包括发起的请求和这些请求可能绑定的会话;执行管理,请求被指派到执行线程前排队等候的地方;应用,包括所有标准J2EE组件的代码;服务,包括了常用的元素,像JDBC和JMS,也有在你的应用和外界之间的连接。当然,所有这些元素都运行在JVM中,而JVM则使用操作系统资源如处理器CPU,内存,物理磁盘和网络连接。 ?????我们现在能够看到怎样在每一层上测量前面讨

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档