如何有效应用时间的有限和无限

文章作者 100test 发表时间 2007:03:14 13:51:25
来源 100Test.Com百考试题网


Oracle的性能分析在过去的20年里已经走了很长的一段路。这里首先提出“仅仅添加更多的资源”的方式,然后涉及比率分析,最后是等待事件分析的出现。但是那些方式都不完整或者足够广泛,所以在2001年我发表了一篇名为《Oracle响应时间分析(RTA)》的论文。RTA的文章同时提出并且详细描述了响应时间中的两个元素:服务时间和排队时间。有关RTA的一个更加微妙的方面就是理解服务时间和排队时间之间的关系,以及它们与操作系统之间是如何联系的。

用户感觉到的响应时间是许多个相关系统的结果。Oracle服务器只是这些系统中的一个。花费在每个系统上的时间都可以划分为服务时间和排队时间。我们只能把所有的服务时间和所有的排队时间加起来,来判断最终用户的响应时间。但是在现实生活中,有时候这些努力相对于结果来说并不值得……不是说完成起来极端困难。但是肯定值得我们去做的最小的努力就是从Oracle的角度获取服务时间和排队时间。此外,我们还可以获得有关它如何与数据库服务器的CPU子系统相联系的细节。

让我们看看基本的基于Oracle的响应时间公式:

Rt = 终端用户响应时间 = Ts Tw

Ts = 服务时间 = CPU 时间= Oracle 内核代码执行时间

Tw = 排队时间 = ORAt TIERt

ORAt = Oracle等待时间 (包括从服务器进程到Oracle客户端进程的时间,以及Oracle客户端进程的时间)

TIERt = 从Oracle客户端进程到终端用户的时间。其中包括网络服务器、网络时间、浏览器时间等。

从分析响应时间中我们可以穴道很多东西,其中一件就是服务时间有限,但是等待时间却无限。每个CPU子系统都有一个最大的固定的可以提供的CPU能力。如果你的机器是一个CPU的,这个机器就可以提供每分钟60个CPU秒的最大量。如果你的机器中有10个CPU,它就可以提供每分钟600个CPU秒。这个环境对排队时间来说绝对是不同的。

排队时间是不固定的,并且只被工作负载所限制。如果工作负荷相对比较小,排队时间就可能接近于0。但是当工作负载不断增加,排队时间就会达到无限——它没有限制。

有关排队时间无限的说法提出了两个我们需要思考的概念。首先,如果Oracle消耗了所有可用的CPU,那么要求更多的CPU就需要增加服务时间,同时也有可能增加Oracle等待时间。结果就是响应时间的增加。这是不好的,非常不好。这意味着我们的解决方案需要仔细权衡它们是如何影响CPU子系统的。(这个概念在我的新论文《Oracle等待接口详解》中有详细的解释。)第二个概念就是我们现在有另一种方式来查看一个非常动态的系统。这不仅可以帮助我们理解系统,还可以让我们帮助其他人来理解潜在的非常复杂的基于Oracle的系统。


相关文章


CCNA中文笔记-ManagingaCiscoInterwork
在OracleXE构建GoogleEarth接口(3)
在OracleXE构建GoogleEarth接口(2)
ORACLE应用中常见的傻瓜问题1000问(二)
如何有效应用时间的有限和无限
在OracleXE构建GoogleEarth接口(1)
索引与Null值对Hints及执行计划的影响(2)
索引与Null值对Hints及执行计划的影响(1)
如何在Oracle数据库字段上建立索引
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛