1. 程式人生 > >Linux 伺服器效能監視工具小結

Linux 伺服器效能監視工具小結

一、伺服器效能因素   

 1、CPU 2、記憶體  3、磁碟I/O頻寬  4、網路I/O頻寬

Load:

系統負載指執行佇列的平均長度,也就是等待CPU的平均程序數。Load越高說明系統響應越慢,如果load是0,代表程序不需要等待,立刻就能獲得cpu執行。可以通過查詢檔案/proc/loadavg獲取系統在前一分鐘、前五分鐘和前十五分鐘的平均負載以及當前執行的程序、系統的程序數和上一次排程執行的程序。

[email protected]:/proc$ cat/proc/loadavg

0.71 0.70 0.63 1/403 5111

在linux系統中,也可直接通過命令列 “w”或者“uptime”檢視,如下:

16:10:22 up 1 day, 4:18,  3 users,  load average: 0.34, 0.50, 0.52

USER     TTY      FROM              [email protected]  IDLE   JCPU   PCPU WHAT

justin   tty7     :0               Tue11   28:19m 10:15   0.22s gnome-session

justin   pts/0    :0.0             Tue11   28:17m 2:22   0.00s /bin/bash./jettyctl.sh

justin   pts/1    :0.0             16:08    0.00s 0.17s  0.00s w

cpu usage:

系統的CPU使用率。

可以用“top”命令動態的顯示當前系統程序使用者的使用情況。


前五行是系統整體的統計資訊。

第一行是任務佇列資訊,同 uptime 命令的執行結果。其內容如下:當前時間;系統執行時間,格式為時:分;當前登入使用者數;系統負載,即任務佇列的平均長度。

第二、三行為程序和CPU的資訊。當有多個CPU時,這些內容可能會超過兩行。

內容如下:Tasks: 175 total程序總數;1 running正在執行的程序數;174 sleeping睡眠的程序數;0 stopped停止的程序數;0 zombie殭屍程序數

Cpu(s):22.0% us使用者空間佔用CPU百分比

20.7%sy核心空間佔用CPU百分比

1.1%ni使用者程序空間內改變過優先順序的程序佔用CPU百分比

52.7%id空閒CPU百分比

3.3%wa等待輸入輸出的CPU時間百分比

0.0%hi

0.2%si swap in,表示虛擬記憶體的頁匯入,即從SWAPDISK交換到RAM

0.0%st swap out,表示虛擬記憶體的頁匯出,即從RAM交換到SWAPDISK。

PR:作業系統給程序的安排的優先順序。這個值標示程序排程器分配給程序的時間片長度。單位是時鐘個數。如果一個Linux系統的時間片是10ms,那麼PID是2718的程序在執行了200ms後,才會進行程序切換。 

RES:程序佔用的實體記憶體大小             

VIRT:實體記憶體+虛擬記憶體。                                                                        

吞吐率:

伺服器單位時間內處理的請求數,一般用來描述併發能力,當然談吞吐率的前提是併發使用者數。不同的併發使用者數下,吞吐率自然大不相同。單位是“請求數/秒”。吞吐量分為網路吞吐量和事務吞吐量,當作為事務吞吐量時,採用TPS來衡量。目前線上環境Apache沒有mod_status模組,不能很方便的查詢。

TPS:

伺服器每秒處理的事務數。PV在效能測試中的表現形式是以TPS來體現的,兩者有一個轉換公式,如下:

TPS平均值 =((PV*80%)/(24*60*60*40%))/伺服器數量 =  pv/s

TPS峰值 =(((PV*80%)/(24*60*60*40%))*1.6) /伺服器數量=  pv/s ,這個和我們經常說的“2-8原則”貼近。

一般的,評價系統性能均以每秒鐘完成的技術交易的數量來衡量。系統整體處理能力取決於處理能力最低模組的TPS 。應用系統的處理能力一般要求在10-100左右。

二、系統性能評估參考標準

影響效能因素

評判標準

糟糕

CPU

user% + sys%< 70%

user% + sys%= 85%

user% + sys% >=90%

記憶體

Swap In(si)=0

Swap Out(so)=0

Per CPU with 10 page/s

More Swap In & Swap Out

磁碟

iowait % < 20%

iowait % =35%

iowait % >= 50%

三、效能分析工具和命令

1.常用系統命令

vmstat、sar、iostat、netstat、free、ps、top等

2.常用組合方式

•           用vmstat、sar、iostat檢測是否是CPU瓶頸

•           用free、vmstat檢測是否是記憶體瓶頸

•           用iostat檢測是否是磁碟I/O瓶頸

•           用netstat檢測是否是網路頻寬瓶頸

3、用工具進行分析

Ø  Vmstat


列表含義:

Procs

     r:執行和等待cpu時間片的程序數,這個值如果長期大於系統CPU的個數,說明CPU不足,需要增加CPU。

     b:在等待資源的程序數,比如正在等待I/O、或者記憶體交換等。

Memory

     swpd: 虛擬記憶體使用情況,單位:KB

     free: 空閒的記憶體,單位KB

     buff: 被用來做為快取的記憶體數,一般對塊裝置的讀寫才需要緩衝,單位:KB

     cache:表示page cached的記憶體數量,一般作為檔案系統cached,頻繁訪問的檔案都會被cached,如果cache值較大,說明cached的檔案數較多,如果此時IO中bi比較小,說明檔案系統效率比較好。

Swap

     si: 從磁碟交換到記憶體的交換頁數量,單位:KB/秒

     so: 從記憶體交換到磁碟的交換頁數量,單位:KB/秒

I/O

     bi: 傳送到塊裝置的塊數,單位:塊/秒

     bo: 從塊裝置接收到的塊數,單位:塊/秒

System

      in: 每秒的中斷數,包括時鐘中斷

      cs: 每秒的環境(上下文)切換次數

注意:如果 r經常大於 4 ,且id經常少於40,表示cpu的負荷很重。

          如果si,so 長期不等於0,表示記憶體不足。

          如果disk 經常不等於0, 且在 b中的佇列大於3, 表示 io效能不好。

cpu

    us:使用者程序消耗的CPU 時間百分比。us的值比較高時,說明使用者程序消耗的cpu時間多,但是如果長期大於50%,就需要考慮優化程式或演算法。

     sy:核心程序消耗的CPU時間百分比。Sy的值較高時,說明核心消耗的CPU資源很多。

根據經驗,us+sy的參考值為70%,如果us+sy大於 70%說明可能存在CPU資源不足。


Ø  Sar分析cpu效能


命令列 sar -u 1 4,結果

列表說明:

%user:使用者程序消耗的CPU 時間百分比。

%nice:執行正常程序所消耗的CPU 時間百分比。

%system:系統程序消耗的CPU時間百分比。

%iowaitIO:等待所佔用的CPU時間百分比。

%steal:在記憶體相對緊張的環境下, 被強制等待(involuntary wait)虛擬CPU的時間

%idle:CPU處在空閒狀態的時間百分比。

Ø  Free評估記憶體效能


這個指標跟Dragoon的memory  usage完全一致。

Ø  I/O效能評估

l  iostat命令


各列含義:

tps平均每秒鐘的IO請求次數

Blk_read/s表示每秒讀取的資料塊數。

Blk_wrtn/s表示每秒寫入的資料塊數。

Blk_read表示讀取的所有塊數。

Blk_wrtn表示寫入的所有塊數。

如果Blk_wrtn/s值很大,表示磁碟的寫操作很頻繁,可以考慮優化磁碟或者優化程式,如果Blk_read/s值很大,表示磁碟直接讀取操作很多,可以將讀取的資料放入記憶體中進行操作。

對於這兩個選項的值沒有一個固定的大小,根據系統應用的不同,會有不同的值,但是有一個規則還是可以遵循的:長期的、超大的資料讀寫,肯定是不正常的,這種情況一定會影響系統性能。

Ø  網路效能評估

l  netstat -antl  檢視所有tcp status


注意:可以通過netstat檢視是否timewait過多的情況,導致埠不夠用,在短連線服務中且大併發情況下,要不繫統的net.ipv4.tcp_tw_reuse、net.ipv4.tcp_tw_recycle兩個選項開啟,允許埠重用。具體這兩個屬性如何用,移步線上/etc/sysctl.conf檔案配置,有註釋。

Ø  sar檢視網絡卡效能


各列含義:

IFACELAN介面

rxpck/s每秒鐘接收的資料包

txpck/s每秒鐘傳送的資料包

rxbyt/s每秒鐘接收的位元組數

txbyt/s每秒鐘傳送的位元組數

rxcmp/s每秒鐘接收的壓縮資料包

txcmp/s每秒鐘傳送的壓縮資料包

rxmcst/s每秒鐘接收的多播資料包

其實中間的IFACELAN bond0是虛擬裝置。在RH中,多個物理網絡卡幫定為一個邏輯bonding裝置,通過把多個物理網絡卡幫定為一個邏輯裝置,可以實現增加頻寬吞吐量,提供冗餘。如何進行虛擬化和模式選擇,請參考下面兩篇文章。

sar是一個優秀的一般效能監視工具,它可以輸出Linux所完成的幾乎所有工作的資料,參考文獻:ttp://hi.baidu.com/colddloc/blog/item/d63e16fd6965cc1109244d94.html


相關推薦

Linux 伺服器效能監視工具小結

一、伺服器效能因素     1、CPU 2、記憶體  3、磁碟I/O頻寬  4、網路I/O頻寬 Load: 系統負載指執行佇列的平均長度,也就是等待CPU的平均程序數。Load越高說明系統響應越慢,如果load是0,代表程序不需要等待,立刻就能獲得cpu執行。可以通過查詢

Linux伺服器效能測試工具介紹

前言 作為伺服器開發人員,對效能應該非常的敏感,在伺服器設計和編碼時就應該充分考慮到效能問題,但如果寫出來的程式,或者已經存在的程式在執行中出現了效能問題,我們又如何下手去找出問題並解決呢?這不僅靠的是經驗,還需要藉助一些工具來輔助分析。 本文將以一個例項為樣本,介紹幾款

Linux VPS/伺服器效能測試工具之二

無論我們選擇國內、國外VPS、伺服器,我們都希望價效比高,都凸顯在哪些方面呢?價格成本、速度、穩定性,以及各種支援的功能。其中最為關鍵的我們在選擇便宜VPS主機的時候可能會用於國內的建站等專案,其實最為直接的測試速度就是我們架設網站之後看看實際的使用者開啟速度,這樣其實是最好

轉如何用九條命令在一分鐘內檢查Linux伺服器效能

一、uptime命令 $ uptime 23:51:26 up 21:31,  1 user,  load average: 30.02, 26.43, 19.02 這個命令可以快速檢視機器的負載情況。在Linux系統中,這些資料表示等待CPU資源的程序和阻塞在不可中斷I

Linux伺服器效能資料收集

  Linux中的top,free等命令不能完全滿足我們效能資料收集的要求,我們需要一個更加強大的工具來收集效能資料。經過考察和對比,發現 Sysstat是一個非常強大的工具,因此下載了試了下,效果不錯。Sysstat是一個工具集,包括sar、pidstat、iostat、mpstat

Linux伺服器效能評估與優化 一

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

【nmon】伺服器效能監控工具nmon安裝和使用

目錄 一、檢視linux系統伺服器版本資訊 ​二、nmon下載 三、nmon安裝 ​四、安裝成功校檢 五、測試監控 六、監控資料採集 一、檢視linux系統伺服器版本資訊 (Linux檢視版本當前作業系統核心資訊):uname -a (Linux檢視當

Linux伺服器效能檢查常用命令

  轉載: 馬哥Linux運維 一、uptime命令 這個命令可以快速檢視機器的負載情況。在Linux系統中,這些資料表示等待CPU資源的程序和阻塞在不可中斷IO程序(程序狀態為D)的數量。這些資料可以讓我們對系統資源使用有一個巨集觀的瞭解。 命令的輸

常用的Linux伺服器效能檢視命令

命令名稱 說明 top 程序監控命令,用來監控系統的整體效能。 可以顯示系統負載,程序,cpu,記憶體,分頁等資訊,常用shift+m和shift+p來按memory和cpu使用對程序進行排序。 vmstat 系統監控

伺服器效能監控工具軟體Nmon和ServerAgent對比

  2018年01月08日 10:36:51 zwliu6 閱讀數:664 標籤: 伺服器效能監控對比 伺服器效能監控工具軟體Nmon和ServerAgent對比 軟體 Nmon+nmon_anal

檢查Linux伺服器效能

用十條命令在一分鐘內檢查Linux伺服器效能 如果你的Linux伺服器突然負載暴增,告警簡訊快發爆你的手機,如何在最短時間內找出Linux效能問題所在?Netflix效能工程團隊的Brendan Gregg寫下了這篇博文,來看他們是怎樣通過十條命令在一分鐘內對機器效能問題進行診斷。 概述

[轉]裘巨集駿:Linux 相關效能分析工具

2008-05-29 iostat iostat命令是另一個研究磁碟吞吐量 的工具。和sar類似,iostat可以使用間隔和計數引數。第一個間隔的輸出包含Linux總執行時間的指標。與其他效能命令比較,這可能是 iosta

如何用九條命令在一分鐘內檢查 Linux 伺服器效能

1. uptime 命令 這個命令可以快速檢視機器的負載情況。在Linux系統中,這些資料表示等待CPU資源的程序和阻塞在不可中斷IO程序(程序狀態為D)的數量。這些資料可以讓我們對系統資源使用有一個巨集觀的瞭解。 命令的輸出分別表示1分鐘、5分鐘、15分鐘的平均負載情況。通過這三個資

如何用九條命令在一分鐘內檢查Linux伺服器效能

一、uptime命令 $ uptime 23:51:26 up 21:31,  1 user,  load average: 30.02, 26.43, 19.02 這個命令可以快速檢視機器的負載情況。在Linux系統中,這些資料表示等待CPU資源

伺服器效能測試工具 ---- nmon

一、下載nmon 根據CPU的型別選擇下載相應的版本: http://nmon.sourceforge.net/pmwiki.php?n=Site.Downloadwget http://sourceforge.net/projects/nmon/files/download/nmon_x86_

一 |阿里雲Linux伺服器初建(工具:Xshell/xftp)

title: 一 |阿里雲Linux伺服器初建(工具:Xshell/xftp) tags: Linux xshell/xftp categories: 阿里雲伺服器 SSH SSH:Secure Shell的縮寫,安全外殼協議,是建立在應用層基礎上的安全

虛擬機器效能測試工具小結

UnixBench Unixbench是一套綜合測試工具,理論上來說其測試結果與CPU、記憶體、儲存、作業系統都有直接關係,但主要受CPU影響,可以用它測試CPU效能。 wgethttp://soft.laozuo.org/scripts/UnixBench5.1.3.t

linux 磁碟效能測試工具fio

1,安裝 apt-get install fio dd if=/dev/zero of=2G.file bs=1G count=2 2,測試 fio -filename=/mnt/dmcache/chenming.log -direct=1

Java Web 伺服器效能監控工具 JavaMelody

1、maven 依賴 <dependency> <groupId>net.bull.javamelody</groupId> <artifactId>javamelody-core</art

java web伺服器效能監控工具JavaMelody

下載Jar包javamelody-1.47.0.jar和jrobin-1.5.9.jar http://code.google.com/p/javamelody/downloads/list http://code.google.com/p/javamelody/downl