性能問題並無想象的那麼難,只須要理解應用程序和系統的少數幾個基本原理,而後進行大量的實戰練習,創建起總體性能的全局觀,不少性能問題的優化就水到渠成了。在進行性能優化時,咱們不須要了解每一個組件的全部實現細節,只須要理解它們最基本的工做原理和協做方式便可。linux
當看到性能指標時,首先想到的是「高併發」和「響應快」,然而他們兩個對應着性能優化的兩個核心指標:「吞吐」和「延時」。這兩個指標是從應用負載的視角來考察性能的,跟他們對應的是從系統資源的視角出發的指標,如資源使用率和飽和度等。性能優化
咱們知道,隨着應用負載的增長,系統資源的使用也會隨之增長,甚至達到極限,而性能問題的本質就是系統資源達到了瓶頸,可是請求的處理仍然不夠快,不能支撐更多的請求。併發
性能分析,就是找出應用程序或者系統的瓶頸,並想法去避免或者緩解它們,從而更高效的利用系統資源處理更多的請求,這包括了一系列的步驟,好比下面六個步驟:高併發
想要學習好性能分析和優化,創建總體系統性能的全局觀是最重要的,所以咱們要:工具
說明:千萬不要把性能工具當成學習的所有,工具只是解決問題的手段,關鍵在於你怎麼使用。性能
下面的一張思惟導圖包含了大部分性能分析和優化的知識:學習
技巧一:雖然系統的原理很重要,可是剛開始必定不要試圖抓住全部實現的細節。
技巧二:邊學習邊實踐,經過大量的案例演戲掌握linux系統的分析和優化。測試
技巧三:勤思考,勤反思,勤總結,多問爲何。優化