应用在服务器上性能的测试
对于应用在服务器上性能的测试,可以采用工具监控,也可以使用系统本身的监控命令,例如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或内存可能有问题,需要进一步的分析。用