Analysing Statspack 2      

命中率陷阱

原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-2/

作者:Jonathan Lewis

了解Statspack的报告的一个重要的事情是要甄别出哪些内容是不需要看的,下面就是一个例子:

Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 100.00 Redo NoWait %: 100.00
Buffer Hit %: 100.00 In-memory Sort %: 100.00
Library Hit %: 99.96 Soft Parse %: 99.00
Execute to Parse %: 98.02 Latch Hit %: 100.00
Parse CPU to Parse Elapsd %: 92.74 % Non-Parse CPU: 98.56

Instance Efficiency 汇总这一部分报告内容实质上是没有用的,至少是在企图通过个别的报告就希望定位到问题所在的情况下。

那么上面的汇总数据又能说明些什么呢?我们继续监控下内存中的数据,所有的排序都在内存中,大部分的解析都是软解析,继续监控下library cache中的对象,每次解析都执行了很多次,解析只占用了少量的cpu时间。

唯一可能会导致性能不佳的地方就是92.74%的数据项,数据显示在解析的时候损失了一点时间,但解析本身所占的比重也是微乎其微,这关系大吗?

事实上,这个实例已经显示出严重的响应时间,系统已超额负载。原因主要有三个主要的设计缺陷,但却不容易发现。但数据显示唯一可疑的地方是92.74%,但我们如何来减少解析的时间开销呢,一种可能恐怕只能让cpu疯狂的工作。

记住:百分比(或者命中率)会隐藏scale。如果每分钟执行一次解析,那么100%硬解析也并非就一定是坏事。但如果每分钟10,000次解析,那么100%的软解析对系统来说也会是灾难,但应当排除使用会话缓存的cursor,但系统仍然记录为一次解析调用的情形。

对于一次解析,1000次执行的具有高达99.9%命中率的情形,如果其中900次的执行都毫无意义,那又何尝是好的设计呢。

如果你确实希望观察一下实例的命中率模型数据,花费一点时间去看一下 Load Profile 部分,尤其是‘每秒’的统计,来决定你的实例是否在合理的工作状态,要时刻的记住平衡原则:如果你把头放在冰桶里,脚放在火堆了,平衡一下你应该是感到最舒服。

statspack系列2的更多相关文章

  1. statspack系列8

    原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-8/ 作者:Jonathan Lewis 在前面的关于stat ...

  2. statspack系列7

    原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-7/ 作者:Jonathan Lewis 这是一段Oracle ...

  3. statspack系列4

    原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-4/ 作者:Jonathan Lewis 使用statspac ...

  4. statspack系列3

    原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-3/ 作者:Jonathan Lewis 下面的例子中的结果并 ...

  5. statspack系列6

    原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-6/ 作者:Jonathan Lewis 下面是一段时间以前网 ...

  6. statspack系列5

    原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-5/ 作者:Jonathan Lewis 前些天,有人给我发了 ...

  7. 蓝色的成长记录——追逐DBA(8):为了夺回SP报告,回顾oracle的STATSPACK实验

    ***********************************************声明*************************************************** ...

  8. .Net程序员学用Oracle系列(30):零碎补充、最后总结(The End)

    1.同义词 2.Flashback 技术 3.连接字符串的写法 4.转义字符 & 特殊运算符 5.文件类型 6.查看参数 & 修改参数 7.AWR 工具 8.学习方法 & 学习 ...

  9. 【等待事件】等待事件系列(5.1)--Enqueue(队列等待)

    [等待事件]等待事件系列(5.1)--Enqueue(队列等待)   1  BLOG文档结构图   2  前言部分   2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可 ...

随机推荐

  1. NFC标签

    2.4 NFC标签 NFC标签(以下也称tag)是一种带有NFC电路和天线的钱币大小的电子标签,见图2.1,小容量的标签售价约1元左右一枚. 基本标签类型有四种,以1至4来标识,各有不同的格式与容量. ...

  2. ios 阻止GDB依附

    GDB,IDE是大多数hackers的首选,阻止GDB依附到应用的常规办法是: . #import <sys/ptrace.h> . . int main(int argc, charch ...

  3. Java之反射的应用

      package com.zheges; import java.util.Date; public class Customer {//JavaBean 对象 private String nam ...

  4. apparmor介绍

    AppArmor AppArmor 类似于selinux ,主要的作用是设置某个可执行程序的访问控制权限,主要区别就在于apparmor是以路径(path)为基础,而selinux以i节点(inode ...

  5. AVAudioSession 的 AVAudioSessionCategory 和 AVAudioSessionCategoryOptions 相关

    AVAudioSessionCategory相关 AVAudioSessionCategoryAmbient 使用这个category的应用会随着静音键和屏幕关闭而静音.并且不会中止其它应用播放声音, ...

  6. 06_WebService与Socket的区别

    [区别] 区别1. Socket是基于TCP/IP的传输层协议. WebService是基于HTTP协议传输数据的,HTTP是基于TCP的应用层协议. 区别2. WebService采用了基于HTTP ...

  7. <s:iterator></s:iterator>循环指定输出,(status的方法使用)

    list集合中的实体的一个属性是另一个实体的集合(如下) public class PetInfo { private int petId; private String private Set< ...

  8. WEB开发原则

    1.最小权限原则,只允许用户做****,而不是"不允许用户做****"2.浏览器查看的是服务端代码的执行输出的文本,除非服务器有漏洞,否则浏览者无法查看 服务端的ASPX,CS代码 ...

  9. linux-信号。

    信号 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的. 信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到 ...

  10. yum --rpm包安装

    rpm -ivh  package -i 表示安装install -v表示显示详细信息, -vv更详细些 -h表示显示安装进度 --force:表示强制安装 --nodeps:忽略依赖关系安装 --r ...