|
以下是个人的点看法,仅供参考:一时兴起随便写的。(这里优化不设计应用设计的优化)大家就当娱乐啊。别太认真。
首先应该是硬件。
一个性能最基本就是三个原因:
一:cpu 二: io 三: 内存
如果一个服务器是数据库服务器。引起以上性能问题:一般都是数据库问题。
所以你要根据以上事情。跟踪数据库到底这些东西怎么被消耗的。是谁把他耗尽的。
所以我就需要一个全面检查:(一个比方:一个人病了。自己不是医生。首先表象是高烧。咳嗽。四肢无力等原因,但是造成这些症状的原因太多了。你去看医生,医生也不知道怎么给你开药。所以你先走个全面检查把,当然一些简单的病 比如感冒,等简单病。医生看的出来就直接开药了。但是疑难的病症呢。只能全面检查(心电图。脑电图。x光 ,b超 。中医当然是望闻问切了)一个全面检查包括那些:
一:系统全面检查(cpu .io .内存 process等).分析暂时结果
二:数据库参数检查。检查参数是否合理。可能会造成那些危害。做分析好。做为暂时结果。
三:数据库快照或者db2pd: sql ,sort,bufferpool ,locks .databases ,transcations .session 等先全部收集起来。
然后一一分析。每一个情况都要做分析 做为暂时结果。
四:有以上的分析数据然后综合起来。找出主要原因。
五:得到处理办法。然后一一测试。实验。或者在服务器调优。看效果。如果效果跟自己预测一样。就是一次完美的优化。
一个误区:一些刚学数据库的一来就要优化数据库。我总会取笑他们。拿肖笔刀砍大树。然后他们就说我这个人怎么这么嚣张。我知道很多年他会明白的。我现在不需要他理解。连个vmstat iostat 命令结果都看不明白。执行计划为何物的人。谈什么优化。我只给他升个中母指。先学你基本工把。
事物总有一个过程。一个面一个面的去了解。等所有面都了解了。就不是盲人摸象了:每次优化:总要用到三方面知识:系统+存储+数据库(理论更重要)
一个全面认识才是对事物的的清晰认识。浮躁。急功近利。速成。都是什么年代。你速成把。我继续扎马步。我绝对不是给那些想学习的扑冷水。我只想大家塌实的。认真。物实点。其实我很希望刚参加工作的人更快成长。但是根不牢怎么长成大树。最后都成藤蔓。
[ 本帖最后由 tanfufa 于 2008-12-30 16:50 编辑 ] |
|