1. 效能監控介紹
效能最佳化是找出系統的瓶頸並最佳化作業系統來消除這些瓶頸的過程。許多系統管理員認為效能最佳化可以通過閱讀cook book,設定一些核心參數就可以簡單解決,但事實並非如此。效能最佳化是實現各個子系統之間效能平衡。這些子系統包括
CPU
記憶體
I/O
網路
這些子系統是高度相互依賴的。其中任何一個子系統的高負載都很容易導致其他子系統出現問題。比如
大量的頁面調入I/O請求會使記憶體隊列堵塞
全負荷的網卡會使CPU繁忙
維護閑置記憶體隊列會使CPU繁忙
大量的記憶體寫入硬碟的請求會使CPU和I/O通道繁忙
為了做修改來最佳化系統,必須找到出現瓶頸的地方。有時候某個子系統看似出現了問題,其實有可能是其他子系統的超負載造成的。
1.1 確定應用類型
為了知道從何處著手最佳化瓶頸,第一要點是理解要分析的系統的特點。一般系統的應用程式堆棧分為兩種類型:
I/O約束的。I/O約束的應用需要大量使用記憶體和其他存放裝置。原因是I/O約束的應用處理大量的資料(在記憶體中),但不需要太多的CPU和網路資源(除非是使用網路上的存放裝置)。I/O約束的應用使用CPU來處理I/O請求,然後一般會進入休眠狀態。資料庫類型的應用一般都是I/O約束的。
CPU約束的。CPU約束的應用需要使用大量的CPU,來批處理或者數學計算。大容量的網站伺服器,郵件伺服器和其他類型的伺服器一般都是CPU約束的。
1.2 確定統計基準
系統利用效率取決於管理員的經驗和系統的規格。確認系統是否有效能問題的唯一途徑是瞭解系統應該最佳化成什麼效果,哪些效能是應該實現的以及定量的參考量是什麼。這就需要確立一個參考基準。這個基準統計應當是系統效能可承受的,這樣才能與後來實現的效能做比較。
下面這個例子中,比較了系統的一個基準統計快照與高負荷時的快照
# vmstat 1
procs memory swap io system cpu
r b swpd free buff cache si so bi bo in cs us sy wa id
1 0 138592 17932 126272 214244 0 0 1 18 109 19 2 1 1 96
0 0 138592 17932 126272 214244 0 0 0 0 105 46 0 1 0 99
0 0 138592 17932 126272 214244 0 0 0 0 198 62 40 14 0 45
0 0 138592 17932 126272 214244 0 0 0 0 117 49 0 0 0 100
0 0 138592 17924 126272 214244 0 0 0 176 220 938 3 4 13 80
0 0 138592 17924 126272 214244 0 0 0 0 358 1522 8 17 0 75
1 0 138592 17924 126272 214244 0 0 0 0 368 1447 4 24 0 72
0 0 138592 17924 126272 214244 0 0 0 0 352 1277 9 12 0 79
# vmstat 1
procs memory swap io system cpu
r b swpd free buff cache si so bi bo in cs us sy wa id
2 0 145940 17752 118600 215592 0 1 1 18 109 19 2 1 1 96
2 0 145940 15856 118604 215652 0 0 0 468 789 108 86 14 0 0
3 0 146208 13884 118600 214640 0 360 0 360 498 71 91 9 0 0
2 0 146388 13764 118600 213788 0 340 0 340 672 41 87 13 0 0
2 0 147092 13788 118600 212452 0 740 0 1324 620 61 92 8 0 0
2 0 147360 13848 118600 211580 0 720 0 720 690 41 96 4 0 0
2 0 147912 13744 118192 210592 0 720 0 720 605 44 95 5 0 0
2 0 148452 13900 118192 209260 0 372 0 372 639 45 81 19 0 0
2 0 149132 13692 117824 208412 0 372 0 372 457 47 90 10 0 0
比較一下最後一列的數字,其代表了CPU的空閑時間比,我們可以看到,在基準統計下,CPU的空閑時間佔70%-90%。在第二次輸出中,系統百分之百運行而沒有空閑。由此我們可以確定系統的CPU是否被充分利用。
注:更多精彩教程請關注三聯電腦教程欄目,三聯電腦群:189034526歡迎你的加入