我们在做性能测试的时候需要监控一些server,包括了linux的和windows的,这里我给大家介绍一个监控linux的强大软件,nmon,相信不少童鞋已用过了。

1、下载地址:

http://down.51cto.com/data/356854

包含了安装程序+分析的excel

2、使用,这里以redhat为例

输入./nmon_x86_rhe14


3、自动收集

./nmon_x86_rhe14 -fT -s 10 -c 120

-f代表输出文件,-T最消耗资源的进程,-s收集数据的时间间隔,-c收集次数 

4、分析生成报表

把产生的.nom文件down到本地,用专门的分析excel打开即可

(如有安全提示,请修改excel中的宏,设置为最低即可)

 


=================以下为详细描述版================================


1. 先把对应操作系统版本的 nmon文件copy到 服务器上

2. 用chmod 755 nmon文件  给文件赋可执行的权限

3. 实时监控用 ./nmon文件名  就可以了

4. 保存到文件执行如下命令

nohup ./nmon文件名  -F  保存为的文件名.nmon -s 间隔时间数值(单位秒) -c 收集次数 

 

例如:

nohup ./nmon -F test_20091130.nmon -s 3 -c 300&

监控结果保存到 test_20091130.nmon文件中,每3秒收集一次  一共收集300次

 

 

nmon 工具可以为 AIX 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括:

 

一、下载nmon工具和nmonanalyser

 

Nmon下载:

位置:可从IBM Wiki上下载

http://www-941.haw.ibm.com/collaboration/wiki/display/WikiPtype/nmon

 

 

例如我测试的系统是AIX5.3,那么就可以下载nmon4aix12e.zip ,下载后我们可以看到压缩包里是一些文件,

其实nmon就是shell脚本,nmon文件运行时调用其他的文件,生成性能数据,这个工具运行时也是通过执行nmon脚本接受参数。

 

Nmonanalyser下载:

位置:可从可从IBM Wiki上下载

http://www-941.haw.ibm.com/collaboration/wiki/display/Wikiptype/nmonanalyser

 

二、上传nomn工具到服务器上&修改属性

 

 

将nmon4aix12e.zip里的文件ftp到服务器上,目录任意,最好自己新建一个目录,然后将文件的属性修改为可执行的:chmod 755 nmon_aix53

 

三、在服务器上运行nmon脚本

 

进入/home/nmon目录

 

cd /home/nmon

 

运行nmon脚本

./nmon -fT -s 30 -c 120

其中30表示每隔30秒nmon取一次系统性能数据,120表示取120次;

这样nmon将会在运行开始算起连续取得30sX120=60分钟,可根据实际需要时间调整;

当运行以上命令后该目录下会生成一个.nmon文件,该文件会根据间隔时间被写入性能数据,当一段时间后再查看该文件,文件字节变大;

 

四、利用nmonanalyser分析.nmon文件

 

 

当测试结束的同时ftp到服务器上将.nmon文件get下来,

打开nmon_analyser.zip 包下的nmon analyser v338.xls 文件,点击Analyse nomn data按钮,选择之前get来下的.nmon文件。

(如果报告以下宏的安全级别太高错误,则在“工具 -- 宏 --安全性”里把级别调低,然后重新打开 nmon analyser v338.xls 文件)

待分析结束后会生成性能分析结果文件(文件格式为.xls,其中包括CPU,IO,内存等性能分析报告)。

分析结果中有很多数据和图形,简要介绍主要的性能参数图像

 

 

4.1 系统汇总(对应excel标签的‘SYS_SUMM’)

蓝线为cpu占有率变化情况;

粉线为磁盘IO的变化情况;

 

4.2磁盘读写情况汇总(对应excel标签的‘DISK_SUMM’)

蓝色为磁盘读的速率KB/sec

紫色为磁盘写的速率KB/sec

 

4.3内存情况汇总(对应excel标签的‘MEM’)

曲线表示内存剩余量(MB)

分析数据得到的报告文件(.xls)中包含很多性能分析结果数据,根据自己的需要查看。

 

五、nmon运行本身就消耗系统资源的;

另外如果取到.nmon文件后确定不再需要nmon继续收集信息则应kill掉nmon;

命令:

 

   1. ps -A | grep nmon #得到pid

   2. kill -9 pid

 

六 、定时任务

 

在很多情况下,我们需要知道在一个连续的时间段里,机器的性能情况。例如,记录每天的机器性能状况,步骤如下:

 

建nmon目录/nmon,在目录下建两个子目录/nmon/bin和/nmon/data目录,

 

把下载下来的nmon程序放到bin目录下,aix下的nmon可执行文件名称可能为:

nmon_aix53

 

在/nmon/bin目录下建一个脚本文件nmon.sh,内容如下:

#!/bin/ksh
BINPATH=`dirname $0`
NPATH=$BINPATH/../data
$BINPATH/nmon_aix53 -s300 -c288 -f -m$NPATH

 

-s300表示每300秒采集一次数据,

 

-c288表示采集288次,300*288=86400秒,刚好是1天的数据,这样运行一次这个程序就会生成一个一天的数据文件,

 

-m$NPATH表示生成的数据文件的路径

 

-f表示生成的数据文件名中有时间

 

然后在crontab 中增加一条记录:

 

0 0 * * * /home/sun/nmon/bin/nmon.sh >/dev/null 2>&1

 

这样每天凌晨都会运行nmon,这样每天都会生成一个nmon文件。

 

生成的文件名为:myhost _090507_0000.nmon,“myhost”是这台主机的hostname。

 

把 生成的数据文件传到Windows机器上,用Excel打开分析工具nmon analyser v33A.xls

 

然后再点Excel文件中的“Analyze nmon data”按钮,选取那个性能数据文件

 

这样就会生成一个分析后的结果文件:myhost_090507_0000.nmon.xls