1. 程式人生 > >漫遊測試之效能測試(4.4.Linux下記憶體\磁碟\CPU問題的判斷方法)

漫遊測試之效能測試(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

    0  0  0 100  0  0  0      0 3499584 315836 3819660    0    0     0     0   88  158  0  0 100  0  0  0      0 3499708 315836 3819660    0    0     0     2   86  162  0  0 100  0  0  0      0 3499708 315836 3819660    0    0     0    10   81  151  0  0 100  0  1  0      0 3499732 315836 3819660    0    0     0     2   83  154  0  0 100  0

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命令進行檢視)。