首页
登录 | 注册

三方面描述Oracle优化R方法(Method R)

     来源:赛迪网技术社区    作者:changelive

好长时间没怎么看 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) 方法的过程如下:

1、得到服务时间和等待时间及其组成部分

2、将所有组成部分排序

3、依次优化每个部分

4、对表中的每一项,减少每次执行的代价或执行次数

我们看看笛卡尔的方法论:

永远不接受任何我自己不清楚的真理,就是说要尽量避免鲁莽和偏见,只能是根据自己的判断非常清楚和确定,没有任何值得怀疑的地方的真理。

可以将要研究的复杂问题,尽量分解为多个比较简单的小问题,一个一个地分开解决。

将这些小问题从简单到复杂排列,先从容易解决的问题着手。

将所有问题解决后,再综合起来检验,看是否完全,是否将问题彻底解决了。

YAPP 其实不过是笛卡尔方法论的一个体现形式而已。

YAPP 只适用于 Oracle 层,对于 Web 应用层等则无能为力;R 方法适用的范围更广(其实是 YAPP 的进化版本); YAPP 也搞不定 Oracle 的 idle events。

R 方法 vs 瓶颈分析(bottleneck analysis)

瓶颈分析则首先要找到瓶颈, R 方法是以目标任务为导向的, 着眼于业务。直接抓最关心的角度。

虽然现在应用还不够广泛,但 R方法(Method R)是一种在理论上比较完美的方法。其中的产生思想值得我们深思


相关文章

  • 在linux平台操作系统下打开  oracle net manager方法: 1.首先打开一个终端 2.输入:netmgr
  • 在本文中,您将了解到如何在 Visual Basic .NET (VB.NET) 和 Visual C# .NET (C#) 中使用数据库事务.具体来讲,您将系统学习数据库事务.在 .NET 程序中使用 OracleTransaction ...
  • --Centos7.2 安装 oracle 12C 1.修改主机名 [root@localhost ~]# hostnamectl set-hostname DBSNC.LOCAL  [root@localhost ~]# cat /etc ...
  • traceroutetraceroute6唯一需要的参数是目标主机的名称或IP地址.探测数据包的总大小(IPv 4默认为60字节,IPv 6为80字节)是一个可选参数.在某些情况下,可以忽略指定的大小或将其增加到最小值. 追踪结束后,可以打 ...
  • Neo4j入门点滴(四):Cypher查询优化
     首先,还是老样子,清楚当前数据库中所有的内容,干干净净开始学习新的一章. match (n)-[r]-(n1) delete r,n,n1 match (n) delete n   接下来,还要使用第二篇博文中的人物和联系: CREATE ...
  • Django之用户登录跳转
    上次介绍了用户登录界面的使用,主要是使用bootstrap,这方面有兴趣的朋友可以去深入的学习下. 另外上次也给出了一些用户登录以及注册的函数,可能一下子代码有点多,这次主要是简化新加用户的方法和使用, 这些掌握了以后可以接着上次说的函数来 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号