好长时间没怎么看 Oracle 技术文档了,今天阅读了一篇 Oracle Response Time Optimization with Method R. 这是 Optimizing Oracle Performance 经典图书这本经典图书的主旨方法。R 代表响应时间(response time).具体的定义如下:
- 1. Target the tasks that are critical to the business.
- 2. Collect properly scoped, un-aggregated profile data for each task
while the task is exhibiting the behavior you want to record. - 3. React with the candidate repair that will have the greatest net
payoff to the business.
a. Stop if the cost of the repair exceeds the cost of the problem. - 4. Go to step 1.
这里面的核心元素是 Profile .Profile 要提供应用程序到最终用户的响应时间的详细描述.体现到 Oracle 数据库这一层,就是要得到扩展的 SQL Trace 数据。
是不是感觉有些”虚”, R 方法和一些我们已知的数据库优化方法颇一些相似之处,但是 Cary Millsap 宣称 R 方法是目前已知 Oracle 优化方法中的最优秀的、最全面的。我们来看看一些简单比较:
R方法 vs OWI 方法
OWI(Oracle wait interface)只是R方法中的一个基本元素. R 方法是适用更广的(比如应用层)诊断指导策略(参见:How to Make an Application Easy to Diagnose);
R方法 vs YAPP
说来有趣, YAPP(Yet Another Performance Profiling Method) 方法的过程如下:
- 得到服务时间和等待时间及其组成部分
- 将所有组成部分排序
- 依次优化每个部分
- 对表中的每一项,减少每次执行的代价或执行次数
我们看看笛卡尔的方法论:
- 永远不接受任何我自己不清楚的真理,就是说要尽量避免鲁莽和偏见,只能是根据自己的判断非常清楚和确定,没有任何值得怀疑的地方的真理。
- 可以将要研究的复杂问题,尽量分解为多个比较简单的小问题,一个一个地分开解决。
- 将这些小问题从简单到复杂排列,先从容易解决的问题着手。
- 将所有问题解决后,再综合起来检验,看是否完全,是否将问题彻底解决了。
这是笛卡尔的方法论,内容引自不可以随便访问的维基百科..
YAPP 其实不过是笛卡尔方法论的一个体现形式而已.
YAPP 只适用于 Oracle 层,对于 Web 应用层等则无能为力; R 方法适用的范围更广(其实是 YAPP 的进化版本); YAPP 也搞不定 Oracle 的 idle events .
R 方法 vs 瓶颈分析(bottleneck analysis)
瓶颈分析则首先要找到瓶颈, R 方法是以目标任务为导向的, 着眼于业务. 直接抓最关心的角度.
虽然现在应用还不够广泛,但 R方法(Method R)是一种在理论上比较完美的方法.其中的产生思想值得我们深思.
新的Oracle性能神话?
很多 DBA 应该都记得这篇文章吧 ? Myths & Folklore About Oracle8i Performance Tuning. 这篇文章的出现, 粉碎了当时的不少图书中标榜的实际上没有什么…
http://news.csdn.net/n/20061226/99961.html
CSDN 转载我的文章现在都包含初始URL了