Linux 效能優化 01 開山初始篇

2022-07-08 01:15:07 字數 1215 閱讀 3513

效能問題的複雜性增加了我們大家的學習難度,但這並不能成為我們高階路上的「攔路虎」。

在我看來,大多數人對效能問題「投降」,原因可能只有兩個。

1、乙個是你沒找到有效的方法學原理,一聽到「系統」、「底層」這些詞就發怵,覺得東西太難,自己一定學不會,自然也就無法深入學下去,從而不能建立起效能的全域性觀。

2、再乙個就是,你看到效能問題的根源太複雜,既不懂怎麼去分析,也不能抽絲剝繭找到瓶頸。

你可能會想,反正程式出了問題,上網查就是了,用別人的方法,囫圇吞棗地多試幾次,有可能就解決了。於是,你懶得深究這些方法為啥有效,更不知道為什麼,很多方法在別人的環境有效,到你這兒就不行了。

所以,相同的錯誤重複在犯,相同的狀況也是重複出現。

其實,效能問題並沒有你想像得那麼難,只要你理解了應用程式 和 系統的少數幾個基本原理,再進行大量的實戰練習,建立起整體效能的全域性觀,大多數效能問題的優化就會水到渠成。

我見過很多任務程師,在分析應用程式所使用的第三方元件的效能時,並不熟悉這些元件所用的程式語言,卻依然可以分析出線上問題的根源,並能通過一些方法進行優化,比如修改應用程式對它們的呼叫邏輯,或者調整元件的配置選項等。

還是那句話,你不需要了解每個元件的所有實現細節,只要能理解它們最基本的工作原理和協作方式,你也可以做到。

當看到效能指標時,你會首先想到什麼呢?

我相信 「高併發」 和 「響應快」 一定是最先出現在你腦海裡的兩個詞,而它們也正對應著效能優化的兩個核心指標——「吞吐」 和 「延時」。

這兩個指標是從應用負載的視角來考察效能,直接影響了產品終端的使用者體驗。跟它們對應的,是從系統資源的視角出發的指標,比如資源使用率、飽和度等。

我們知道,隨著應用負載的增加,系統資源的使用也會公升高,甚至達到極限。而效能問題的本質,就是系統資源已經達到瓶頸,但請求的處理卻還不夠快,無法支撐更多的請求。

1、選擇指標評估應用程式和系統的效能;

2、為應用程式和系統設定效能目標;

3、進行效能基準測試;

4、效能分析定位瓶頸;

5、優化系統和應用程式;

6、效能監控和告警。

下面一張思維導圖,裡面涵蓋了大部分效能分析和優化都會包含的知識。我們可以儲存或者列印下來,將掌握的部分標記出來,記錄並把握自己的整體狀況。

01 如何學習Linux效能優化?

沒找到有效的方法學原理 重要的是需要深入學下去,建立起效能的全域性觀 效能問題的根源太複雜,即不懂怎麼去分析,也不能抽絲剝繭找到瓶頸 只要理解應用程式和系統的少數幾個基本原理,再進行大量的實戰練習,建立起整體效能的全域性觀。那麼大多數效能問題的優化就會水到渠成。不需要了解每個元件的所有實現細節,只要...

MySQL效能優化 01 效能標準

什麼是效能?效能即響應時間。即我們解決問題的速度。那麼我們要優化效能,則是要減少這個時間,即先找到時間都花在了什麼地方。誤區 認為優化是降低伺服器cpu或記憶體。資源是拿來利用的,如果資源能夠換來更快地查詢,那麼也是我們優化的一部分。效能的倒數是吞吐量。當我們的效能上去了,自然每秒處理的數量就上去了...

linux效能優化

調優必須有效能指標,一開始調優必須確定指標 確定基線 確定目標。如果可能的話分離問題,刪除任何執行於被調查系統的多餘的程式或應用!工具 gnome system monitor 圖形介面,可以說是top的圖形化 執行 gnome system monitor 多處理器統計 mpstat,最大的優點是...