來自老外《Linux Performance Tools》pdf的部分記錄。
======== 分割線 ========
理論:
- 檢查資源:輸入飽和度;工作單元利用率;輸出錯誤日誌。
- 問自己5次Why?
- 另一些方法:工作量描述;深度分析;事件追蹤;基線數據;靜態性能調優
- 根據上述結論,開始找工具幹活
PS:任何工具都是基於內核接口(/proc, /sys, ...)
工具分類:
- 觀察:安全,常用,基於資源開銷
- 標杆確定:負載測試,注意這會導致競爭問題
- 調優:更改導致危險,隨着負載而傷性能
- 靜態:check配置文件,安全
觀察:
- uptime 平均負載
- top 處理器週期統計
- ps -ef f 進程狀態列表
- vmstat -Sm 1 虛擬內存統計
- free -m 內存使用量
- netstat 查網絡的複合工具,參數很多,如-ntl
- ss socket統計
- slabtop 內核分配內存使用量
測試:
有效的測試:以小時單位運行測試;期間用觀察工具分析和確認性能。
- perf 綜合分析工具,前提是安裝linux-tool
- dd、hdparm 磁盤測試
- ab、openssl 應用測試
- ping、traceroute 網絡測試
調優:
通用接口:sysctl- CPU調度 nice|renice、taskset、chcpu
- IO存儲 tune2fs、ionice、blockdev
- 網絡 ethtool、tc、ip、route
- 應用自己的配置文件
工作方法:發現問題 - 假設 - 預言 - 測試 - 分析