Linux 內核從 2.5 版本開始針對 NUMA 架構做了大量優化工作,同時也提供了豐富的工具和介面,可以幫助我們很容易的完成訪問本地記憶體的設置。所以,通過適當的性能調優,可以提供更高的計算能力。 性能優化通常可以通過五個步驟完成 ...
本文分享自天翼雲開發者社區《性能調優五步法》,作者:x****n
Linux 內核從 2.5 版本開始針對 NUMA 架構做了大量優化工作,同時也提供了豐富的工具和介面,可以幫助我們很容易的完成訪問本地記憶體的設置。所以,通過適當的性能調優,可以提供更高的計算能力。
性能優化通常可以通過五個步驟完成
1.確認基線
性能優化第一步是確定當前性能,並明確性能應提升的程度。如果系統性能不佳,我們就需要花時間進行研究分析,但如果系統性能接近其峰值,那可優化的空間就微乎其微。性能基線必須是一種客觀可度量的指標,在明確如何度量特定系統或者應用程式的性能後,在調整和優化之前,運行應用程式並記錄其性能,這就是基線值。在記錄應用程式基線的同時我們需要對整個系統部件進行基準監控,包括CPU、記憶體、IO、網路吞吐、響應延時等系統運行數據。
2.壓力測試
採用應用系統加壓或者標準的壓力工具對系統進行壓力測試,使用性能監控工具觀察系統運行狀態,詳細記錄系統運行數據,精確的歷史記錄有利於我們定位系統瓶頸及確定後續優化手段是否有效的重要依據
3.監控瓶頸
系統在壓力狀態下,採用監控工具進行監控是為了確定系統的瓶頸(即可以優化的突破點)。系統的瓶頸通常在CPU過於繁忙、IO等待、網路等待、記憶體訪問延遲高等方面出現。在測試過程中,我們不僅需要關註被測系統本身,同樣需要註意是否由於硬體連接問題而導致性能異常。
4.瓶頸優化
確定系統瓶頸所在之後,接下來需要對瓶頸進行優化。瓶頸的優化是一個複雜的系統工程,我們必須在每一次調試後進行性能監控及系統狀態的記錄,已確保我們調試優化的方向,很多時候優化是需要多方面同步進行的,並非單一因素作用即可達到目標。在優化過程中我們也需要做好回滾的準備,保障系統的正常運行及可測量性。本文總結了一些常見的系統瓶頸及優化方案,供大家參考。
5.確認優化效果
實施優化方案後,重新進行壓力測試,通過監控工具確認瓶頸是否消除,系統性能是否達到目標。若瓶頸依舊存在,系統性能指標未提升,則需要重新進行5步法,若瓶頸消除,系統性能指標達到目標,則需詳細記錄優化方案,後續作為標準文檔進行輸出應用。