51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3267|回复: 0
打印 上一主题 下一主题

[原创] 在生产中测量J2EE应用性能(节选)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-4-6 19:02:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在生产中测量J2EE应用性能(原文地址:http://www.innovatedigital.com/htm_speek/speak17_index.shtml)
J2EE性能测量

      性能只有在你决定测量性能的时候性能才是重要的。但一些人发现在测量性能的时候,很难确定需要测量哪个度量值,而且就算他们手头上有了这些信息之后也不知道该怎么办。结果导致了很多人开始竭尽全力地获得所有相关信息。这当然也导致了系统负载过重和获得一些看起来没有意义的信息。在这样的情况下,一些人完全放弃了测量,开始凭着他们的直觉对系统性能调优。

我们当然不能这么干,而应该系统地并且一步一步地对它进行测量。首先,理解为什么要测量性能和通过这些工作你想达到一个什么目标。如果你没有一个目标,那么就没有办法去完成了。

      接下来你需要理解你测量的东西和它们的意义。这可能需要创建一个模型用于跟踪你的数据。只有通过结合数据和模型,你才能获得有价值的信息。例如,预报天气需要一些数据:气温,湿度,大气压力等等。即使我知道它们的每一个值,如果我没有该地区的气候模型我还是不能预报那个地区的天气情况。原始度量值不易理解,在一个有意义的模型中度量值会更易于理解。

测量的变量

     让我们开始看看我们的模型需要收集那些度量值信息。我们需要理解J2EE系统一些最基本的东西是:

     反应时间(R)

     吞吐量(X)

     资源利用率(U)

     服务请求(D)

     反应时间用于测量完成一个特定请求需要花费多少时间。它是一个非常重要的度量值因为它是用户体验的一个指数。尽管这样,你必须确保你理解你测量的是什么--系统级的反应时间和Java组件级的反应时间完全不同(因为系统级包括像队列时间这样的变量)。

     它同时也是不容易测量的度量值,因为它比其它的度量值更容易变化。因此你必需了解反应时间的分布。如果应用对你大部分用户的反应时间是2秒钟,而对10%用户的反应时间却是10秒钟,在这种情况下,你必须知道这个反应时间的分布,才能精确地评估该问题和解决它。这就要测量它们的反应时间并且得到它们的标准偏差,理想的情况是用一个柱状图把反应时间的分布显示出来。

     吞吐量指出系统在一段时间内能执行的交易量。它是系统处理负载能力的一个很好的指数,并且通常跟反应时间结合在一起。由于它不是以用户为中心的测量,所以对于一些非交互的系统或批处理工作,它是最值得考虑的。

     资源利用率是用于测量系统特定元素被利用了多少。这个度量值是系统的最底层情况的一个指数,因此对于容量规划是有用的。它也是非常容易理解的度量值,许多人通常都是从处理器和内存的利用率开始入手的,但它不是测量系统性能中最有用的。

    我们发现更多使用的是处于请求中的资源。我们使用称为服务请求(D)的计算度量值显示特定资源或服务将怎样被利用。服务请求用以下公式计算:

    D=U/X

    这给了我们一个比较清晰的资源利用率,对于吞吐量是规范化的。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-10 22:32 , Processed in 0.073922 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表