statspack系列2
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的更多相关文章
- statspack系列8
原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-8/ 作者:Jonathan Lewis 在前面的关于stat ...
- statspack系列7
原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-7/ 作者:Jonathan Lewis 这是一段Oracle ...
- statspack系列4
原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-4/ 作者:Jonathan Lewis 使用statspac ...
- statspack系列3
原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-3/ 作者:Jonathan Lewis 下面的例子中的结果并 ...
- statspack系列6
原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-6/ 作者:Jonathan Lewis 下面是一段时间以前网 ...
- statspack系列5
原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-5/ 作者:Jonathan Lewis 前些天,有人给我发了 ...
- 蓝色的成长记录——追逐DBA(8):为了夺回SP报告,回顾oracle的STATSPACK实验
***********************************************声明*************************************************** ...
- .Net程序员学用Oracle系列(30):零碎补充、最后总结(The End)
1.同义词 2.Flashback 技术 3.连接字符串的写法 4.转义字符 & 特殊运算符 5.文件类型 6.查看参数 & 修改参数 7.AWR 工具 8.学习方法 & 学习 ...
- 【等待事件】等待事件系列(5.1)--Enqueue(队列等待)
[等待事件]等待事件系列(5.1)--Enqueue(队列等待) 1 BLOG文档结构图 2 前言部分 2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可 ...
随机推荐
- Linq 与UnitOfWork
submitchages(linq to sql)或者savechanges(ef)的次数是根据你操作方法的数量决定的,也即是:它只认识自己的提交语句(submtchanges,savechanges ...
- ISA2006 下建立VPN连接时出现“错误800”时的解决办法
[转载]http://social.microsoft.com/Forums/zh-CN/9cfa0c06-0f46-44cb-9e8f-8eba1c3821ba/vpn-vpn800 重启Routi ...
- SQL Server调优系列基础篇 - 并行运算总结(二)
前言 上一篇文章我们介绍了查看查询计划的并行运行方式. 本篇我们接着分析SQL Server的并行运算. 闲言少叙,直接进入本篇的正题. 技术准备 同前几篇一样,基于SQL Server2008R2版 ...
- Swift 一些环境配置
#if DEBUG 使用 如下图配置即可使用
- iOS-开发日志-UIimageView
UIImageView属性 1.Image 设置图片,默认显示 UIImageView *_imageView = [[UIImageView alloc]init]; _imageView. ...
- javascript闭包的理解
闭包是Javascript的一个难点,但也是一个很重要的知识点. 1.首先我们要知道变量作用域链 变量的作用域分两种:全局变量和局部变量.没有定义到任何函数中的变量为全局变量,在函数中定义的变量为局部 ...
- 【BZOJ3529】【莫比乌斯反演 + 树状数组】[Sdoi2014]数表
Description 有一张N×m的数表,其第i行第j列(1 < =i < =礼,1 < =j < =m)的数值为 能同时整除i和j的所有自然数之和.给定a,计算数表中不大于 ...
- MySQL的多实例
一.准备工作 1.关闭mysql进程 # pkill # service mysqld stop 2.从系统服务中删除mysqld # chkconfi ...
- UEditor富文本编辑框学习
1.首先需要引入CSS.JS <!--富文本编辑框--> <link href="${pageContext.request.contextPath}/css/plugin ...
- php学习,一个简单的Calendar(1)
材料取之深入PHP与JQuery开发,这本书实际上就是讲述一个活动日程表. 此文章适合从其它语言(如java,C++,python等)转到php,没有系统学习php,或者是php初学者,已经对程序有较 ...