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 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可 ...
随机推荐
- kettle中通过 时间戳(timestamp)方式 来实现数据库的增量同步操作(一)
这个实验主要思想是在创建数据库表的时候, 通过增加一个额外的字段,也就是时间戳字段, 例如在同步表 tt1 和表 tt2 的时候, 通过检查那个表是最新更新的,那个表就作为新表,而另外的表最为旧表被新 ...
- OC - 11.使用Quartz2D剪裁图片并保存
实现效果 操作步骤 绘制一个矩形框,弹出一个alertView,提示是否保存图片 点击"是",将图片保存到相册 在相册中查看保存的图片 效果图 实现思路 在控制器的view上添加一 ...
- css样式继承 第7节
样式继承: <html> <head> <title>样式继承</title> <style type="text/css"& ...
- Spring 对JDBC的支持(JdbcTemplate)
Spring对数据库的操作,使用JdbcTemplate对象 需要引入相关的jar文件 如版本:(Spring核心jar包就不列了) spring-jdbc-3.2.5.RELEASE.jar spr ...
- STL之优先队列
STL 中优先队列的使用方法(priority_queu) 基本操作: empty() 如果队列为空返回真 pop() 删除对顶元素 push() 加入一个元素 size() 返回优先队列中拥有的元素 ...
- 【ADO.NET】2、各种版本的 简单登录验证
一.简单登录验证(防SQL注入) GetString(序号) 返回某一列的值(当用户不记得列名序号时,可使用GetOrdinal()获取到序号)GetInt32(序号) 针对的是 int 字段,返回i ...
- 《tr命令-优化版》-linux命令五分钟系列之二十五
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...
- 使用win8.1 x64 office2010 php 使用 pdo_odbc 连接excel失败的问题
public function init($filePath){ $dbq = iconv('UTF-8',"GBK",BASEPATH.'../'.$filePath); $ds ...
- thinkPHP add、save无法添加、修改不起作用
案例:数据库新添加一字段,修改值不成功.解决方案:将Runtime/Data/_fields/下面的字段缓存删除,或者直接删除整个Runtime文件也是可以的分析:由于Thinkphp,采用字段缓存机 ...
- 如何在windows上安装部署设置SVN服务器
1 一.准备工作 1.SVN服务器:解压缩包,可以从官方网站下载最新版本. 2.SVN客户端:TortoiseSVN,即常说的小乌龟,是一个客户端程序,用来与服务器端通讯. 2 二.安装服务器和客 ...