使用Statspack的几个误区

原创 2004年01月12日 11:53:00

使用Statspack的几个误区

作者: Fenng

Statspack 是 Oracle 提供的一个实例级的Tuning工具。很多DBA都喜欢用这个工具来进行数据库的优化调
整。不过在交流中发现很多朋友对这个工具的的运用还有一些 问题。下面就其中比较容易出问题的几个方面进
行一下简单的分析。

关于快照的采样时间间隔问题

我们知道,Statspack的report实际上也就是对比两个快照 (Snapshot,也就是数据库当前状态 ) 得出的结
果。

一般情况下,专家建议生成Statspack报告的快照时间间隔为15-30分钟。

试想,一个人去医院看病,医生对其测量体温,一般也就是5-10分钟左右就可以了, 为什么是这麽长的时间?
因为5-10分钟这段时间基本可以近似的得到你的体温。如 果时间过短,可能达不到既定的目的,测到的体温会
偏低,时间过长,甚至长达几 个小时的话(假设有这种情况),病人可能都昏迷几次了 ;) 。

对生成Statspack报告的快照时间间隔也是这样,如果两个Snap Time时间过短,数据 库的一些主要周期性
事务可能还没有运行,信息收集不完全。如果间隔过长,数据一样会有偏差。

假设如下的情况:系统一直正常,但是最近几天有用户反映,在A时间段应用程序执行 很慢。B时间段正常,而
A时间段有一个主要的事务X运行(也是用户使用到的事务)。 B时间段有另外一个比较消耗资源的事务Y在运
行。A和B时间段的跨度比较大。本来你的 快照如果覆盖A时间段内就已经能够的收集到比较准确的数据了,但
不巧的是,你的Report 所用的两个Snap ID的时间跨度太长,从而把B时间段内的统计数据也收集了进来。
Statspack 经过比较,“认为”事务Y是对系统有主要影响(这也会在Report上体现出来),而你,经过分析,认
为Y才是罪魁祸首,接下来,你不遗余力的对Y进行了tuning......

问题出现了!调整了B之后,用户继续报告,A时间段内系统不但没有变快,反而变得更慢,甚至不可忍受。这
种情况是很危险 的,可能会对系统造成不同程序的损害。在比较严格的环境中,这已经构成了一次比较严重的
事故。

或许你也要承认,Statspack的快照的采样时间间隔还真需要重视呢......

这是一个Oracle 8.1.7.0.1 版本下的Statspack报告:


从中可以看到快照637和快照646之间为269.55 (mins)。这么长的时间跨度,即使数据库在一定时间间隔内
有问题,在这里的体现也会有偏差。 

下面的这个Statspack 报告的时间有点不靠谱了:


11,085.82分钟? 这么长时间内的数据采集分析,怕是绝大部分内容都是不能相信的了。

还要注意的是,我们说的时间间隔,是Begin Snap和End Snap之间的间隔,而不是相邻两个Snap 之间的
间隔。对于Snap收集的间隔,建议以不要影响性能为准,收集的太过于频繁,会对性能和 存储都造成压力。
对于所谓的15-30分钟,不能墨守成规。具体的环境下应该加以调整。

以偏概全

Statspack从本质上说,是对系统的性能统计数据进行采样,然后进行分析,采样,就会有偏差。如何消除偏
差?统计学指出"差值随样品个数的增加而降低"。所以,只凭借一个Report文档就 断定数据库的性能问题出
在某处,是比较武断的做法(个别情况除外)。还要DBA多创建Report,对比进行分析,会起到很好的效果。
在寻求技术支持的时候也最好能够多提交几份Report,便于 支持人员迅速帮助解决问题。

有关Timed_statistics参数

虽然这算是一个低级的错误,还是很遗憾,常常看到一些朋友对这个参数的忽略.如果在 Timed_statistics的
值设置为False的时候进行收集,可以说,收集到的东西用处不是很大 (我想你不会只想看一些实例名字、初始
化参数之类的信息吧)。甚至可以说,如果该参数不设置为True,性能分析无从说起。


相关信息

《Expert one-on-one Oracle》 by
Thomas Kyte
《Advanced Tuning with Statspack》 From OTN
《Statspack使用指南》 by eygle
《Performance Tuning with Statspack》PartII From OTN
《Performance Tuning with Statspack》PartI From OTN

原文出处:
http://www.dbanotes.net/Oracle/AboutStatspack.htm

 

ERP实施过程中的误区 你知道吗?

当下,ERP管理系统越来越受到市场青睐,企业纷纷上马该系统来辅助企业发展。在传统的印刷领域上马ERP管理系统的印刷企业不在少数,一些效益好,发展快、有规模、有创新理念的企业希望通过ERP管理系统助推企...
  • zhongguomao
  • zhongguomao
  • 2015年08月15日 16:47
  • 396

java字符串编码认识误区说明

关于java字符串编码认识上存在两大误区,一、严格来说java字符串是utf-16编码而非unicode编码。unicode是字符集,是字符编码方案,而不是具体的编码实现; 二、java中一个汉字有可...
  • tang9140
  • tang9140
  • 2014年11月10日 11:24
  • 1136

实施ERP系统常见的误区

原文地址: http://bbs.erp100.com/thread-291622-1-1.html ERP项目成功实施为何困难重重? 一个企业的管理发展通常会经历这样几个历程:不规范,规范,标准...
  • wangnan537
  • wangnan537
  • 2015年06月23日 12:09
  • 1099

Redis的几个认识误区

此文作者是新浪微博平台架构师杨卫华timyang大师,是他对Redis研究的一个总结,澄清了一些认识上的误区,值得一读。 James Hamilton在On Designing and Depl...
  • elesos
  • elesos
  • 2016年10月08日 13:40
  • 998

[转]Redis几个认识误区

转自timyang:http://timyang.net/data/redis-misunderstanding/ 前几天微博发生了一起大的系统故障,很多技术的朋友都比较关心,其中的原因不会超出...
  • zhangyingchengqi
  • zhangyingchengqi
  • 2016年10月12日 10:25
  • 624

详细解读 STATSPACK 报告

详细解读 STATSPACK 报告 详细解读 STATSPACK 报告 1 1、报表头信息 2 2、实例负载档信息 2 3、实例有效性信息 3 4、TOP 5及其他等待事件信息 5 5、SQL统计...
  • Evils798
  • Evils798
  • 2013年06月14日 17:15
  • 1750

蓝的成长记——追逐DBA(8):重拾SP报告,回忆oracle的STATSPACK实验

***********************************************声明***************************************************...
  • huangyanlong
  • huangyanlong
  • 2014年10月05日 17:33
  • 3235

sizeof使用中的几个误区总结

最近看了几个有关sizeof的试题,发现自己很多都做错了,然后上网看了下其他人的博客(原博客地址为:http://blog.csdn.net/candyliuxj/article/details/63...
  • adminabcd
  • adminabcd
  • 2015年05月28日 15:49
  • 349

JavaScript 使用误区

JavaScript 使用误区 本章节我们将讨论 JavaScript 的使用误区。 赋值运算符应用错误 在 JavaScript 程序中如果你在 if 条件语句中使用赋值运算符...
  • hbtj_1216
  • hbtj_1216
  • 2016年09月01日 21:46
  • 223

软件项目管理中的十个误区 阅读笔记

随着计算机硬件水平的不断提高,计算机软件的规模和复杂度也随之增加。计算机软件开发从“个人英雄”时代向团队时代迈进,计算机软件项目的管理也从“作坊式”管理向“软件工厂式”管理迈进。这就要求软件开发人员特...
  • u010395804
  • u010395804
  • 2015年01月10日 12:17
  • 685
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Statspack的几个误区
举报原因:
原因补充:

(最多只允许输入30个字)