1. 程式人生 > >Linux效能優化 第一章 效能追蹤建議

Linux效能優化 第一章 效能追蹤建議

1.1常用建議
1.1.1記大量的筆記(記錄所有的事情)
在做效能調優問題的時候很重要的一個操作就是記錄下所有的事情,包括每一個輸出、執行的結果。可以新建一個資料夾,然後把結果的檔案都塞到該資料夾內。包括如下:

    • 記錄硬體/軟體的配置情況,比如dmesg和uname –a的輸出
    • 儲存並組織效能結果,記錄系統配置的同時也要儲存測試的結果。
    • 寫下命令列呼叫,可以把複雜的命令寫成script或者記錄到終端上。
    • 記錄研究資訊和URL,將網際網路找到的相關資訊記錄下來。
      記錄這些資訊之外,在調查問題時,還要牢記以下幾點:
    • 結果的含義可能是不明確的,有時候你需要更多的資訊才能理解結果的含義
    • 所有的資訊都是有用的,就好像偵查破案一樣
    • 定期回顧你的筆記可以得到新的想法——溫故而知新。
      1.1.2 自動執行重複任務
      Linux 的命令很多,輸入負責的命令很容易出現錯誤。所以,自動執行效能工具和應用程式測試是個好辦法。
    • 效能工具的呼叫,建議寫成script或者儲存到一個txt檔案裡面。
      1.1.3 儘可能選擇低開銷工具
      一般情況下,觀察系統會修改系統的行為。(物理上叫做海森堡不確定性原理)所以,我們儘量要使用低開銷的工具,比如用ps就不錯,而用memprof或者valgrind就開銷過大了,會改變系統的行為。
      1.1.4 使用多個工具來搞清楚問題
      只使用一個工具可能會造成判斷上的誤導,比如工具A說是IO慢,B說是系統使用了大量的交換。如果只根據A而更換更快的磁碟,結果效能提升很少。實際應該要增加記憶體,少使用交換,這樣就不會有大量的磁碟IO了。
      1.1.5 相信你的工具
      工具是公正的,要相信它。
      1.1.6 利用其他人的經驗(慎重)
      利用他人的經驗可能會事半功倍,但是要保持懷疑的態度。
      1.2 效能調查概要
      1.2.1 找到指標、基線和目標
    • 確定指標,知道什麼時候應該要停止優化,比如web的每秒服務的請求數。
    • 確定基線,在調整和優化之前,執行應用程式並記錄其效能,這就是基線。
    • 確定目標,目標會引導你完成效能的追蹤。可以嘗試尋找其他有相同配置的人,查詢工業標準測試程式的結果或者在不同的OS或應用程式上使用你的硬體。
      1.2.2 追蹤近似問題
      1.2.3 檢視問題是否早已解決
      網上查詢相似的資訊。
      1.2.4 專案開始(啟動調查)
      開始調查的使用可以嘗試下面的一些方法。
      分離問題、利用系統差異發現原因、一次只改變一件事、始終在優化後重新測量。
      1.2.5 記錄,記錄,記錄