漫遊測試之效能測試(4.4.Linux下記憶體\磁碟\CPU問題的判斷方法)
以vmstat這個工具查詢出來的結果的欄位為解釋的依據。其它監控工具,只需要瞭解每個欄位的說明,其原理類似。
[email protected]:~# vmstat 2 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 0 3499840 315836 3819660 0 0 0 1 2
4.4.1記憶體問題的判斷方法
Swpd表示虛擬記憶體的使用情況,如果大於0表示記憶體不足了;
Si,從磁碟讀入虛擬記憶體量;so,從記憶體寫入磁碟量,如果大於0均表示記憶體不足;
Free,如果長時間的趨勢下降,或者沒有呈波動回收,那麼均表示記憶體方面有問題;
4.4.2磁碟問題的判斷方法
Bi,塊裝置每秒接收的塊數量;Bo,塊裝置每秒傳送的塊數量;理論上都需要接近0,否則都可能需要調整IO。
CPU的sy 過高也有可能是有頻繁的IO操作,Bi和BO這2個指標應該同步有表現。
4.4.3CPU問題的判斷方法
Cs過大,可能呼叫了系統函式,導致上下文切換,CPU被浪費於上下文切換,沒有用於計算方面,是不可取的。此時TPS應該也上不去。
Us過大,說明CPU系統真正用到了地方,系統性能的優化方面就在演算法了。
檢視系統的程序和執行緒數,可以用pstree -p | wc -l來獲取。
4.4.4注意檔案控制代碼數和time_wait\time_close等影響
Linux預設檔案控制代碼數是1024(可以通過ulimt設定大得大一些),當控制代碼數不足時,會提示‘too many open files’。
Linux中HttpClient呼叫時可能會產生大量的time_wait\time_close,從而影響效能處理能力(可以通過netstat -an |grep TIME_WAIT|wc -l命令進行檢視)。