WEB开发网
开发学院数据库Oracle 教你如何从调优强迫症中恢复过来 阅读

教你如何从调优强迫症中恢复过来

 2007-05-10 12:19:59 来源:WEB开发网   
核心提示: 什么是最常见的性能问题? GKV:一个查询运行得太慢或者一个任务运行得太慢,问题是什么导致了这么慢,教你如何从调优强迫症中恢复过来(2),很多人都没有花时间去找出原因,他们把时间花费在改变事情,还有MRI,我们不需要只是因为脚疼就做彻底的血液化验,你可以更改八件事情,然后问题就消失了

什么是最常见的性能问题?

GKV:一个查询运行得太慢或者一个任务运行得太慢。问题是什么导致了这么慢。很多人都没有花时间去找出原因。他们把时间花费在改变事情,你可以更改八件事情,然后问题就消失了。你是解决了它,还是把它伪装过去了?问题还会回来的。如果你没有使用数学,解决方案就是不可重复的,你也不能使用一个一致的方法来解决性能问题。它总是或者成功,或者失败、测试、纠正错误。

什么是数学的方法?

GKV:使用底层的追踪方法去找出应用程序将时间花在了哪里。写一个追踪语句并对其进行分析。之后,事情就很简单了。你可以发现你花了78%的时间在I/O上,那么你就会问自己为什么花了那么长时间在这上面。

你在不同的Oracle版本中看到了不同的问题出现吗?

GKV:是的。你一定会遇到某些事情在一个版本中运行良好,但是同样的应用程序在升级之后就不工作了,就是因为数据库管理系统发生了变化,优化器计划也改变了。有时候引入一些新的参数。有上百个参数摆弄,这一点通常是好事,但是一旦人们开始管理上百个数据库,人们就不会有时间去摆弄上百个东西了。优化器正在逐渐成熟,取代了调整这些参数的一部分工作。大多数的时间里,在不同的版本之间,问题的存在是因为bug,或者缺乏某项应用程序需要的功能。

10g中有哪些用来解决特定的性能问题的以前版本中没有的特性?

GKV:很多个特性,一些处理数据收集,例如10g中的历史收集——自动负载仓库。作为数据收集的一部分,还有另外一个特性,活动会话历史,它是流入AWR的一个输入流。一旦你开始收集数据,你需要某些种类的分析引擎,现在这就是可用的了——它叫做自动数据库诊断监控器。那些都是Oracle的一些新东西,可以帮助你来了解是什么花费了时间,而不是仅仅看着比率。人们总是希望能够找到尚方宝剑并且改变它,但是尚方宝剑实际上是不存在的。都是逻辑的、可重复的、精确的方法——由响应时间驱动。10g为数据库管理员提供了收集和分析的功能,用这些功能数据库管理员可以走上了解核心问题的正确道路。

什么是最常见的调优误区或者错误的概念?

GKV:很多人都试图调整数据库环境自身,而不是首先看看应用程序。这就是尚方宝剑中的一部分。数据库是简单的——改变参数并重新启动,你就完成了一次修改。应用程序的调整会花费更多的力气——找出应用程序的组件就是造成问题阻塞的开端,然后是找出问题所在的实际工作,然后是分析它,最后再解决它。整个过程要遵守规则,并且耗费体力,但是不是一个长期的拉锯战。如果你梦想挥舞着魔法棒,你就不会赞成这种方法。你之前曾试过,并且也期望现在能够发生同样的事情,但是参数不一样了,或者它们因为不再有关系而产生作用。查看响应时间的努力背后的基本目标就是让人们看看正确的数据,让人们摒弃查看洗衣单的老方法。用人力去每天看100个数据库是不可能的。即使是你说,“所以我们使用监控软件啊,”那么,如果它抛出100个警告,哪一个才是最重要的?问问自己有没有遇到性能问题,也就是有没有遇到响应时间问题,从这个角度出发再来看看。

最好的分析就像你去看医生。你说你的右脚疼。如果医生说他需要对你做一个彻底的扫描并且化验血液,你就会想,为什么我们不先看看我的右脚呢?你也许会置疑医生的人品。这就是古老的方法。我会在每次出现问题的时候都做血液测试、CT扫描,还有MRI。我们不需要只是因为脚疼就做彻底的血液化验。这就是我们想要说的。

上一页  1 2 

Tags:如何 强迫症 恢复

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接