uptime(系統(tǒng)整體性能評估)
這里需要注意的是:load average這個輸出值,這三個值的大小一般不能大于系統(tǒng)CPU的個數(shù)
那么如何查看cpu的個數(shù)呢?
查看系統(tǒng)cpu的信息
cat /proc/cpuinfo中的信息
其中cpu cores即為cpu的核數(shù)
也可以用cat /proc/cpuinfo |grep “cores”|uniq直接查看
[root@test ~]# cat /proc/cpuinfo |grep “cores”|uniqcpu cores : 2
cpu的性能評估
利用vmstat命令監(jiān)控cpu
vmstat 2 10 (每2秒監(jiān)控一次 監(jiān)控10次)
procs
r表示運行和等待cpu時間片的進程數(shù),這個值如果長期大于cpu的個數(shù),則需要增加系統(tǒng)cpu
b表示等待資源的進程數(shù)
CPU
us列顯示了用戶進程消耗CPU時間百分比,us比較高的時候,說明用戶進程消耗cpu的時間多,如果長期大于50%,就需要優(yōu)化程序和算法
sy列顯示了內(nèi)核進程消耗的cpu時間百分比,sy值較高的時候,說明內(nèi)核消耗的cpu資源很多
根據(jù)經(jīng)驗,us+sy的參考值為80%,如果us+sy大于 80%說明可能存在CPU資源不足。
利用sar命令監(jiān)控系統(tǒng)cpu
sar命令會增加系統(tǒng)開銷 但是影響不大
yum install sysstat安裝sar命令
sar -u 3 5(u顯示系統(tǒng)所有cpu在采樣時間內(nèi)的負載狀態(tài))
%user:用戶進程消耗cpu的時間百分比
%nice:運行正常進程所消耗cpu的百分比
%system:系統(tǒng)消耗cpu時間百分比
%iowait:IO等待所占用cpu時間百分比
%steal:內(nèi)存在相對緊張的環(huán)境下pagein強制對不同頁面進行的steal操作
%idle:cpu處在空閑時間的百分比
內(nèi)存性能評估
利用free指令監(jiān)控內(nèi)存
free -m #查看以M為單位的內(nèi)存使用情況
一般有這樣一個經(jīng)驗公式:
應用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存》70%時,表示系統(tǒng)內(nèi)存資源非常充足,不影響系統(tǒng)性能。
應用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存《20%時,表示系統(tǒng)內(nèi)存資源緊缺,需要增加系統(tǒng)內(nèi)存。
20%《應用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存《70%時,表示系統(tǒng)內(nèi)存資源基本能滿足應用需求,暫時不影響系統(tǒng)性能。
利用vmstat監(jiān)控內(nèi)存
swpd表示切換到內(nèi)存交換去的內(nèi)存數(shù)量(k),如果swpd的值不為0,或者比較大,但是si,so的值長期為0,這種情況不用擔心,不會影響性能
free表示空閑的物理內(nèi)存數(shù)量
buffer表示buffers cache的內(nèi)存數(shù)量,一般對設備的讀寫才需要緩沖
cache表示page cached的內(nèi)存數(shù)量。一般作為文件系統(tǒng)cached,頻繁訪問的文件都會被cached,如果cache值較大,說明cached的文件較多,如果此時IO中的bi比較小,說明文件系統(tǒng)效率比較好
si表示由磁盤調(diào)入內(nèi)存,也就是內(nèi)存進入內(nèi)存交換區(qū)的數(shù)量
so表示由內(nèi)存調(diào)入磁盤,也就是內(nèi)存交換區(qū)進入內(nèi)存的數(shù)量 一般情況下,so si的值都為0。如果si
so的值長期不為0,則表示系統(tǒng)內(nèi)存不足,需要增加內(nèi)存
磁盤IO性能評估
iostat
iostat -d 2 10
Blk_reads/s 每秒讀取的數(shù)據(jù)塊數(shù)Blk_wrtn/s 每秒寫入的數(shù)據(jù)塊數(shù)Blk_read 讀取的所有塊數(shù)Blk_wrtn
寫入的所有塊數(shù)
這幾個值沒有標準 如果長期都很大 肯定是不正常的
利用sar評估磁盤性能
sar -d 2 5
await 平均每次設備I/O操作的等待時間(毫秒)
svctm 平均每次設備I/O操作的服務時間(毫秒)
%util 一秒中有百分之幾的時間用于I/O操作
評判標準
正常情況下svctm應該是小于await的,svctm的值和磁盤性能,cpu內(nèi)存等都有關系。
如果svctm的值和await的值相近表示幾乎沒有I/O等待,磁盤性能很好,如果await的值遠高于svctm,表示I/O隊列等待時間太長,系統(tǒng)上的應用程序?qū)⒆兟藭r可以通過更換更快的硬盤來解決問題
%util越小越好,如果%util接近100%表示磁盤產(chǎn)生的I/O請求太多,I/O系統(tǒng)已經(jīng)滿負載在工作,此時可以通過優(yōu)化程序或者更換更快的磁盤來解決問題
網(wǎng)絡性能評估
通過netstat -i 組合檢測網(wǎng)絡接口狀況。
通過netstat -r 組合檢測系統(tǒng)路由表信息。
通過sar -n 組合顯示系統(tǒng)的網(wǎng)絡運行狀態(tài)(sar -n DEV 5 3)。
常用分析:
查看tcp連接數(shù)最多的ip:
sudo netstat -pant | grep “:22” | awk ‘{print $5}’ | awk -F“:” ‘{print $4}’|sort|uniq -c|sort -nr
解釋:
awk -F“:” ‘{print $4}’ 表示把結果的第4列用:號分割
sort -nr 排序,-n以數(shù)值大小排序,-r倒序,從大到小。
uniq -c 刪除重復的行,-c表示加上每行出現(xiàn)的次數(shù)。
netstat命令是一個監(jiān)控TCP/IP網(wǎng)絡的非常有用的工具, 它可以顯示路由表、實際的網(wǎng)絡連接以及每一個網(wǎng)絡接口設備的狀態(tài)信息。
netstat -pant
參數(shù)-p :顯示正在使用Socket的程序識別碼和程序名稱;
參數(shù)-a :顯示所有連線中的Socket;
參數(shù)-n :直接使用ip地址,而不通過域名服務器;
參數(shù)-t :顯示TCP傳輸協(xié)議的連線狀況。
提取訪問nginx服務器最多的10個ip。
-
監(jiān)控
+關注
關注
6文章
2173瀏覽量
55096 -
Linux
+關注
關注
87文章
11230瀏覽量
208932 -
服務器
+關注
關注
12文章
9022瀏覽量
85186 -
系統(tǒng)
+關注
關注
1文章
1008瀏覽量
21316
發(fā)布評論請先 登錄
相關推薦
評論