作為程序員,和 Linux 打交道,在服務器上分析系統性能情況,是每一個后端工程師都無法避開的事情。
無論你是開發還是運維,可能都經歷過這樣的場景:
流量高峰期,服務器 CPU 使用率過高報警,你登錄 Linux 上去 top 完之后,卻不知道怎么進一步定位,到底是系統 CPU 資源太少,還是程序并發部分寫得有問題?
系統并沒有跑什么吃內存的程序,但在敲完 free 命令之后,卻發現已經沒什么內存了,到底是哪里占用了內存?為什么?
一大早就收到 Zabbix 告警,你發現某臺存放監控數據的數據庫主機 CPU 的 I/O Wait 較高,該怎么辦?
Linux性能問題一直是程序員頭上的“緊箍咒”,大多數時候,我們只能看到“癥狀”,卻不知道從哪兒下手排查和解決。就算看了很多資料和書籍,一旦涉及到具體問題,還是會一臉懵逼。
談學習經驗,有 3 點比較重要:
先掌握性能優化的思路和方法,嘗試大量 Linux 性能工具;
把性能問題跟系統原理關聯起來,特別是把應用程序、庫函數、系統調用、內核和硬件等不同的層級貫穿起來;
最終從學習到輸出,從實踐中總結經驗。
這其中,一開始就勸退你的,可能就是 Linux 性能工具的使用,它除了要考慮性能指標的目的外,還要結合待分析的環境來綜合選取。
雖說咱有布倫丹·格雷格(Brendan Gregg)大師整理的性能工具圖譜,相信你也多少參考過,但其實它還不夠具體,使用時還要去查找每個工具的手冊,對比分析做出選擇。
所以每次用的時候,大家都會想,有沒有更好的方法來理解這些工具呢?相信當你看了倪朋飛《Linux 性能優化實戰》中總結的幾個性能工具圖,一定會解決你的問題的。
他根據「性能指標」的不同,將工具劃分為CPU、內存、磁盤 I / O及網絡,4 大類型,會讓你一次性把性能工具搞明白了。
看這些圖,就很清晰了,比如,當遇到 I/O 性能問題時,可以根據不同的性能指標,使用 iostat、iotop、blktrace 等工具分析磁盤 I/O 的瓶頸。
-
cpu
+關注
關注
68文章
10921瀏覽量
213222 -
Linux
+關注
關注
87文章
11353瀏覽量
210623 -
程序員
+關注
關注
4文章
953瀏覽量
29877
原文標題:Linux 性能問題難點解析(內附 4 套圖譜)
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論