七、網絡流量監測
網絡問題是影響系統性能的問題之一,診斷網絡問題最簡單的工具當然是使用系統提供的命令netstat,常用選項:-r :顯示路由信息,-i :顯示接口信息。另外可以“netstat -s”看我們關心的報文統計信息。
談到圖形化網絡流量監控,相信大家都熟悉MRTG這個工具。這里介紹一個工具:ntop能夠更加直觀的將網絡使用量的情況和每個節點計算機的網絡帶寬使用詳細情況顯示出來。ntop提供以下一些功能:
1. 自動從網絡中識別有用的信息;
2. 將截獲的數據包轉換成易于識別的格式;
3. 對網絡環境中的通訊失敗進行分析;
4. 探測網絡環境下的通訊瓶頸;
5. 記錄網絡通信時間和過程。
ntop和MRTG相比它的安裝配置比較簡單,同時也可以和MRTG配合使用。目前市場上可網管型的交換機、路由器都支持SNMP協議,Ntop支持簡單網絡管理協議所以可以進行網絡流量監控。ntop幾乎可以監測網絡上的所有協議: TCP/UDP/ICMP、(R)ARP、IPX、Telnet、DLC、Decnet、DHCP-BOOTP、AppleTalk、Netbios、TCP/UDP、FTP、HTTP、DNS、Telnet、SMTP/POP/IMAP、SNMP、NNTP、NFS、X11、SSH和基于P2P技術的協議eDonkey, Overnet, Bittorrent, Gnutella (Bearshare, Limewire,etc), (Kazaa, Imesh, Grobster)。Ntop在互動模式下,ntop會將網絡的使用狀況顯示在使用者的終端機畫面上。在Web模式中,ntop會像Web Server一樣產生出內含網絡使用狀況的網頁傳回到使用者的瀏覽器上。在http://www.ntop.org 可以下載最新的源代碼安裝使用。用ntop 監測主機使用的網絡協議見圖5。
![]() |
圖5 圖形環境下監測主機使用的網絡協議 |
總結:本文從系統負載、進程、內存、中央處理器、IO、網絡、系統活動以及整體性能。八個方面介紹了對Unix服務器進行性能監測的方法。雖然使用的操作系統是Solaris 10但是也可以應用于其他Unix、BSD、Linux等操作系統。本文介紹了Unix系統的兩個最基本的問題:如何在不購買新硬件的條件下完成更多的工作?何時才真正需要添加硬件(更多的內存,更快的磁盤、CPU以及網絡接口)?有時只需消除一些簡單的瓶頸即可解決許多性能問題 —— 但是要實現它,你必須充分了解自己的計算機和網絡,從而找到真正的瓶頸所在。在預算短缺的今天,理解如何優化系統性能比以往任何時候都重要。一味地投資并不是能夠讓人們接受的辦法 —— 并且也不一定生效。
2.mpstat
和top命令不同mpstat命令專門監測CPU(包括多CPU)性能,下面是一個mpstat典型輸出:
![]() |
mpstat [-P {|ALL}] [internal [count]]
參數的含義如下:
-P {|ALL} 表示監控哪個CPU, cpu在[0,cpu個數-1]中取值
internal 相鄰的兩次采樣的間隔時間
count 采樣的次數,count只能和delay一起使用
當沒有參數時,mpstat則顯示系統啟動以后所有信息的平均值。
八、使用GUI綜合工具
多數Linux和unix工程師都很熟悉sar、vmstat、iostat和netstat,另外還有一些針對專門廠商的工具也采用類似的格式。性能監視器(sdtperfmeter)就是一種起源于Sun的著名工具。然而,要想使所有的資源在經過線程優化的并行應用系統中具備順暢的響應速度,就必須使用更為全面的性能監控工具,而傳統的Unix工具集是不具備這一能力的。使用“性能監視器”可以監視工作站的活動和性能。可以在該可定制窗口中以圖形方式顯示若干個性能參數,如 CPU 利用率、磁盤活動、網絡包,等等。您可以監視本地主機或遠程主機的性能,設置彩色的活動閥值以在性能出現異常時向您發出警告,并將樣例記錄到文件中。
1.啟動性能監視器
單擊“前面板”上的“性能監視器”控件。“性能監視器”打開并顯示缺省圖表(CPU 和磁盤活動)。
2.選擇要顯示的主機和參數
選擇以進行監視的參數可能取決于: 所運行的應用程序類型;網絡;您對 UNIX 進程和系統裝入的了解程度。不熟悉系統參數的用戶通常選擇顯示 CPU 和磁盤使用情況。對于那些比較熟悉系統參數的用戶,典型設置是顯示 CPU 使用、磁盤使用、系統負載和包。如果擔心網絡通信擁塞,您可以顯示每秒鐘傳送的網絡包數目,并在運行網絡密集型活動(如因特網瀏覽或遠程操作)時監視此性能。如果“性能監視器”指示 CPU 使用率很高,則可以使用“進程管理器”來標識和中止錯誤的或 CPU 密集型的進程。如果在運行 CPU 密集型應用程序時退出系統,然后再登錄回系統,則“性能監視器”的 CPU 顯示可能表明 CPU 使用率非常高。意識到這一點后,可以使用“進程管理器”來中止任何錯誤的進程。
3.指定要監視的主機和參數
從“選項”菜單中選擇“設置”。“性能監視器”顯示“設置”對話框。選擇“遠程”單選按鈕以表明要鍵入遠程主機的名稱。鍵入系統名稱(例如,jupiter)或遠程主機的 IP 地址。數打開“查看”菜單以顯示可用參數的列表。每個參數都有一個復選框,用來表明當前是否選定該參數以進行顯示。選擇或撤消選擇相關的菜單項以顯示或移除任何參數。可以顯示任何參數組合。如圖6。
![]() |
圖6指定要監視的主機和參數 |
4.更改參數的閥值
從“選項”菜單中選擇“設置”。“性能監視器”顯示“設置”對話框,對于每個參數,該對話框中都包含一個“閥值“框。鍵入相關參數的新閥值,并單擊“應用”。現在,底于新閥值的值將使用為低于閥值的值選擇的顏色來顯示,而高于該新閥值的值將使用為高于閥值的值選擇的顏色來顯示。表2是缺省閥值設置。
表 2缺省閥值設置
參數 |
缺省閥值 |
CPU |
50% |
裝入 |
2 /秒 |
磁盤 |
20 /秒 |
頁 |
8 /秒 |
上下文 |
32 /秒 |
交換 |
2 /秒 |
中斷 |
50 /秒 |
包 |
16 /秒 |
沖突 |
2 /秒 |
錯誤 |
2 /秒 |
![]() |
圖7顯示全部參數的性能監視器 |
(結束)。