制定一個性能優化總體方案時應當考慮下列准則
牢記縮減回報定律最大的性能收益通常來自最初的努力以後的修改一般只產生越來越小的效益並且需要付出更多的努力
不要為了優化而優化優化是為了解除一致的約束如果優化資源不是引起性能問題的主要原因那麼除非接觸了主要約束否則這種優化對響應時間幾乎不產生影響而且這種優化實際上會使後續優化工作變得更加困難如果有任何重要的潛在改進因素的話就在於改進某些資源的性能這些資源是影響響應時間的主要因素
考慮整個系統永遠不能只有話一個參數或系統在進行任何優化之前務必要考慮它對整個系統帶來的影響
一次只修改一個參數不要一次更改多個性能優化參數即使肯定所有的更改都有好處也沒有任何辦法來評估每個更改所帶來的影響如果一次更改多個參數也不能有效判斷所做的更改的利與弊如果每次優化一個參數來改進某一個方面幾乎總是會影響到至少一個沒有考慮的其他方面
按照級別測量和重新配置由於一次只應該修改一個參數因此一次也只能優化系統的一個級別可以使用以下的系統級別列表作為參考
l 硬件
l 操作系統
l 應用服務器以及請求器
l 數據庫l SQL語句
l 應用程序
檢查是否存在硬件以及軟件的問題某些性能問題可以通過維修硬件或者修補軟件來解決如果通過維修或者修補就可以解決問題就不需要在監控和優化系統上面花費過多的時間
在升級硬件之前明確問題所在即使增加存儲器或者處理器資源可以立即改善性能也應該花時間了解系統的瓶頸所在可能花錢增加磁盤存儲器之後才發現系統沒有處理器資源去處理它
在開始優化之前回退過程由於修改是作用在現有的系統之上的所以如果優化沒有取得預期的效果甚至帶來負面影響時則需要撤銷那些改動因此必須對此有所准備
From:http://tw.wingwit.com/Article/program/DB2/201311/21934.html