應用在服務器上性能的測試
對于應用在服務器上性能的測試,可以采用工具監控,也可以使用系統本身的監控命令,例如Linux/UNIX中可以使用Top命令監控資源使用情況。實施測試的目的是實現服務器設備、服務器操作系統、數據庫系統、應用在服務器上性能的全面監控。
對系統進行性能調試的工具有很多,這些可以兩大類:一類是標準的分析工具,即所有的UNIX都會帶的分析工具; 另一類是不同廠商的UNIX所特有的性能分析工具,比如HP-UX就有自己的增值性能分析工具。
標準的分析工具,即所有的UNIX都會帶的分析工具:
sar
iostat
vmstat
time
ps
bdf
top
ipcs
uptime
HP-UX自己的增值性能分析工具:
glance/gpm
puma
xps
按性能分析工具的用途來說,它可以分為:
CPU的使用情況:sar,time,top,ps,puma,xps
內存的使用情況:vmstat,ipcs
文件系統狀態:dbf,iostat,sar,swapinfo,nfsstat
I/O子系統狀態:iostat
網絡性能:netstat
CPU性能分析
SAR System Activity Reporter工具簡介
SAR工具將對系統的當前狀態進行取樣,然后通過計算數據和比例來表達系統的當前運行狀態。它的特點是:可以連續對系統取樣,獲得大量取樣數據,取樣數據和分析的結果都可以入文件,所需的負載小,致命的缺點是:SAR不能對某個進程進行深入分析,它僅是一對系統的整體情況進行分析。
語法格式:sar [-ubdycwaqvmAMS] [-o file] t [n]:每隔t秒取樣一次,共取樣n次,其中-o file表示取樣結果將以二進制形式存入文件file中;
#sar [-ubdycwaqvmAMS] [-s time] [-e time] [-i sec] [-f file]:表示從file文件中取出數據,如果沒有指定-f file,則從標準數據文件/var/adm/sa/sadd取數據,其中dd表示當前日子。另外, -s time表示起始時間;-e time表示停止時間;-i sec表示取樣的時間間隔,如果不指定則表示取文件中所有的數據。
對[-ubdycwaqvmAMS]的解釋請參閱相關的系統分析領域,如-u表示對CPU的分析;-A表示匯總所有數據,即等于-ubdycwaqvm,-M表示對多個CPU環境中每個CPU都進行各自的分析, 一般它與-q和-u聯合使用,以對每個CPU的使用情況進行分析
1. 利用SAR工具分析CPU的利用率
#sar -u,這時數據是通過sa1在后臺定時生成;
#sar -u 5 100,每隔5秒取樣一次,共取100次;
cpu: cpu number (only on a multi-processor system with the -M option);
%usr: user mode;
%sys: system mode;
%wio: idle with some process waiting for I/O (only block I/O, raw I/O, or VM pageins/swapins indicated);
%idle: otherwise idle;
CPU %user %nice %system %iowait %idle
all 0.75 0.00 0.10 0.70 98.44
all 0.05 0.00 0.05 0.50 99.40
對結果的分析
首先,我們看%idle列的值,如果為接近零,則再看對應%wio列的值,如果這列的大于7,則表明系統的磁盤或其他I/O可能有問題,需要進一步的分析:
如果%idle列很小,而對應的%wio列的值也很小,這時,我們查看%usr列和%sys列的值。如果%usr列的值很大,說明有用戶進程占用很多CPU時間;如果%sys列的值很大,則說明系統管理方面花了很多時間。需要進一步的分析:
2. 利用SAR工具分析運行進程隊列長度
#sar -q,這時數據是通過sa1在后臺定時生成;
#sar -q 5 100,每隔5秒取樣一次,共取100次;
08:17:08 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
08:17:13 PM 0 426 0.00 0.02 0.06
08:17:18 PM 0 426 0.00 0.02 0.06
如果runq-sz大于4,則表明系統的CPU或內存可能有問題,需要進一步的分析。用