Oracle
性能优化下的时间模型
Oracle 在 10g 版本明确引入 time model,直观的作为一种量度指标反映给用户。
时间作为一种性能上的量度和反映,一直贯穿在 oracle 的各个版本中,可以说
时间模型并不是 10g 特有的东西。只不过,这种模型和概念在 10g 之前并没有
明确和加以细化,而且,在 oracle 各个版本的升级和演化中,也在不断进行调
整.时间作为我们性能优化的一个重要参考,虽然有时候并不能给诊断带来直接
的切入点,比如我们常常提到的 cpu time、db time 甚至是 response time,这些
指标孤立起来因为负载和系统环境的不同可能并没有横向比较的意义,却可以
作为某个系统的状态数据和优化前后的成果参考,有很高的纵比意义。
结合 awr/statspack,看一下数据库层面上对优化有指导意义的几个重要的时间
概念。
以下是一个 10g 版本的 awr 采样片段:
1.cpu time
Oracle 引入 CPU time 是在 9iR2 版本,cpu time 是衡量一个数据库负载的重要指
标,可以将它看成是“CPU used by this session”的收集汇总。9iR2 之前,top 5 部
分称之为 “Top 5 Wait Events”,其中 cpu time 并不包含在 top 5 内,该部分是纯
粹的等待事件的汇总。而在 9iR2 之后,Top 5 称之为“top 5 timed events”,从字
面上也可以发现二者的区别。oracle 将 cpu time 作为一个事件纳入 top 5 中,新
的 top 5 包含 cpu time 和 waited time 2 部分,也就是 db time。我们可以通过 cpu
time 与 waited time 的比值,来了解库的负载和运行情况,通常较高的比例代表
较好的性能;而通过平均每颗 CPU 耗费的 cpu time 和 Elapsed time 的比例,可
以评估整个系统在 CPU 方面是否存在瓶颈.
2.db time
db time 是 指 oracle 花 费 在 cpu 上 和 等 待 事 件 上 的 时 间 , 上 面 已 经 说 过 ,
评论