linux服務器性能監控--常用命令彙總

1、查看CPU的性能負載

a) uptime  用於觀察服務器整體負載,系統負載指運行隊列(1分鐘、5分鐘、15分鐘前)的平均長度, 正常情況需要小於cpu個數。

b) vmstat是Virtual Meomory Statistics(虛擬內存統計)的縮寫,可對操作系統的虛擬內存、進程、CPU活動進行監控。他是對系統的整體情況進行統計,通常使用vmstat 5 5(表示每隔5秒生成一次數據,生成五次)命令測試。將得到一個數據彙總他能夠反映真正的系統情況。

c) top命令是最流行Unix/Linux的性能工具之一。系統管理員可用運行top命令監視進程和Linux整體性能。

2、查看內存的性能負載

a) free Linux下的free命令,可以用於查看當前系統內存的使用情況,它顯示系統中剩餘及已用的物理內存和交換內存,以及共享內存和被核心使用的緩衝區。

3、查看網絡的性能負載

b) Netstat是控制檯命令,是一個監控TCP/IP網絡的非常有用的工具,它可以顯示路由表、實際的網絡連接以及每一個網絡接口設備的狀態信息。Netstat用於顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用於檢驗本機各端口的網絡連接情況。

c) sar(System Activity Reporter系統活動情況報告)是目前 Linux 上最爲全面的系統性能分析工具之一,可以從多方面對系統的活動進行報告,包括:文件的讀寫情況、系統調用的使用情況、磁盤I/O、CPU效率、內存使用狀況、進程活動及IPC有關的活動等。本文主要以CentOS 6.3 x64系統爲例,介紹sar命令。

4、查看磁盤的性能負載

a) iostat  Linux下的iostat命令,可用於報告中央處理器(CPU)統計信息和整個系統、適配器、tty 設備、磁盤和 CD-ROM 的輸入/輸出統計信息。


5 、nginx配置和排查指引

a)nginx問題的排查方法

當出現直接超時、處理返回慢時的報警時,nigix側的故障排查參考方法有如下:

1、檢查請求日誌情況, tail -f logs/access.log ,看upstream_status字段。

   200:表示正常;
   502/503/504:表示處理慢,或者後端down機;再看upstream_response_time返回的時間是否真的較慢,有沒有上百毫秒,或更高的,有則說明是後端服務有問題。
   404:表示請求的路徑不存在或不對,文件不在了。需要檢查你配置在公衆平臺上的url路徑是否正確; 服務器上的文件、程序是否存在。
   403:表示無權限訪問。 檢查一下nginx.conf 是否有特殊的訪問配置。
   499: 則是客戶端的問題,請聯繫微信團隊。  此錯誤少見。
2、檢查錯誤日誌情況,tail -f logs/error_log ,查看是否有connect() failed、Connection refused、 Connection reset by peer等error錯誤日誌,有則說明有可能nginx出現的連接數超負載等情況。

   (1)查看系統的網絡連接數情況確認是否有較大的鏈接數
    # netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 
    解析:    CLOSED //無連接是活動的或正在進行    LISTEN //服務器在等待進入呼叫    SYN_RECV //一個連接請求已經到達,等待確認 
        SYN_SENT //應用已經開始,打開一個連接    ESTABLISHED //正常數據傳輸狀態/當前併發連接數     FIN_WAIT1 //應用說它已經完成     FIN_WAIT2 //另一邊已同意釋放     ITMED_WAIT //等待所有分組死掉    CLOSING //兩邊同時嘗試關閉    TIME_WAIT //另一邊已初始化一個釋放    LAST_ACK //等待所有分組死掉   
   (2)查看系統的句柄配置情況,ulimit -n ,確認是否過小(小於請求數)
   (3)worker_rlimit_nofile、worker_connections配置項,是否過小(小於請求數)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章