性能調優步驟

性能調優步驟

一般性能問題調優的步驟:

步驟一:確定問題

應用程序代碼:在通常情況下,很多程序的性能問題都是寫出來的,因此對於發現瓶頸的模塊,應該首先檢查一下代碼。

數據庫配置:經常引起整個系統運行緩慢,一些諸如oracle 的大型數據庫都是需要DBA進行正確的參數調整才能投產的。

操作系統配置:不合理就可能引起系統瓶頸。

硬件設置:硬盤速度、內存大小等都是容易引起瓶頸的原因,因此這些都是分析的重點。

網絡:網絡負載過重導致網絡衝突和網絡延遲。

步驟二:確定問題

  當確定了問題之後,我們要明確這個問題影響的是響應時間吞吐量,還是其他問題?是多數用戶還是少數用戶遇到了問題?如果是少數用戶,這幾個用戶與其它用戶的操作有什麼不用?系統資源監控的結果是否正常?CPU的使用是否到達極限?I/O 情況如何?問題是否集中在某一類模塊中? 是客戶端還是服務器出現問題? 系統硬件配置是否夠用?實際負載是否超過了系統的負載能力? 是否未對系統進行優化?

通過這些分析及一些與系統相關的問題,可以對系統瓶頸有更深入的瞭解,進而分析出真正的原因。

步驟三: 確定調整目標和解決方案

得高系統吞吐理,縮短響應時間,更好地支持併發。

步驟四:測試解決方案

對通過解決方案調優後的系統進行基準測試。(基準測試是指通過設計科學的測試方法、測試工具和測試系統,實現對一類測試對象的某項性能指標進行定量的和可對比的測試)

步驟五:分析調優結果

系統調優是否達到或者超出了預定目標?系統是整體性能得到了改善,還是以系統某部分性能來解決其他問題。調優是否可以結束了。

  最後,如果達到了預期目標,調優工作就基本可以結束了。

下面算是一個技巧,如面試官問到一個性能問題假設,我不知道性能問題出在哪兒時,可以按照這個思路回答^_^

• 查找瓶頸時按以下順序,由易到難。
服務器硬件瓶頸---〉網絡瓶頸(對局域網,可以不考慮)---〉服務器操作系統瓶頸(參數配置)---〉中間件瓶頸(參數配置,數據庫,web服務器等)---〉應用瓶頸(SQL語句、數據庫設計、業務邏輯、算法等)
注:以上過程並不是每個分析中都需要的,要根據測試目的和要求來確定分析的深度。對一些要求低的,我們分析到應用系統在將來大的負載壓力(併發用戶數、數據量)下,系統的硬件瓶頸在哪兒就夠了。
• 分段排除法 很有效

性能測試調優應該注意的要點:

要點1: 在應用系統的設計開發過程中,應始終把性能放在考慮的範圍內。
要點2: 確定清晰明確的性能目標是關鍵。
要點3: 必須保證調優後的程序運行正確。
要點4: 系統的性能更大程度上取決於良好的設計,調優技巧只是一個輔助手段。
要點5: 調優過程是迭代漸進的過程,每一次調優的結果都要反饋到後續的代碼開發中去。
要點6: 性能調優不能以犧牲代碼的可讀性和可維護性爲前提。性能調優步驟

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章