在性能测试过程中,对主机资源的监控有着重要意义。一方面,在测试过程中可以判断加压是否成功、系统是否能承受当前压力,确保系统安全;另一方面,测试结束后,通过对监控数据的整理,可以为性能分析、发现问题、寻找瓶颈提供数据支持。本文将结合工作中的实际情况,介绍Unix、Linux操作系统中常用的资源监控工具NMON及使用方法。
一、NMON介绍
nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具, nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中。nmon工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。并且,nmon运行不会占用过多的系统资源,通常情况下CPU利用率不会超过2%。
针对不同的操作系统版本,nmon有相应版本的程序,需要注意的是该文件需要执行授权操作方可正常运行。
二、NMON使用方法
实际工作中,nmon有三种常用的使用模式,分别是实时监控、后台监控和定期监控模式。下面分别加以介绍。
1、实时监控:在完成配置后,只需要“#./nmon”命令即可运行程序,通过一些快捷键调取关心的系统资源指标进行显示,如按键“C”可以查看CPU相关信息;按键“D”可以查看磁盘信息;按键“T”可以查看系统的进程信息;“M”对应内存、“N”对应网络等等,完整的快捷键对应内容可以通过帮助(按键“H”)查看,可以显示Linux系统CPU、内存、进程信息,包括了CPU的用户、系统、等待和空闲状态值,可用内存、缓存大小以及进程的CPU消耗等详细指标。该种方式显示信息实时性强,能够及时掌握系统承受压力下的运行情况,每颗CPU利用率是多少、内存使用多少、网络流量多少、磁盘读写……这些数据实时刷新,一目了然。但是如果我们希望将一段时间的资源情况记录下来,以备后续的分析工作,则需要以另一种方式使用nmon。
2、后台监控:为了配合性能测试,我们往往需要将一个时间段内系统资源消耗情况记录下来,这时可以使用命令:./nmon -f -s 10 -c 360。说明:
-f :按标准格式输出文件名称:_YYYYMMDD_HHMM.nmon
-s :每隔n秒抽样一次,这里为10秒
-c :取出多少个抽样数量,这里为360,即监控=10*360/3600=1小时
该命令启动后,会在nmon所在目录下生成监控文件,并持续写入资源数据,直至360个监控点收集完成——即监控1小时,这些操作均自动完成,无需手工干预,测试人员可以继续完成其他操作。如果想停止该监控,需要通过“#ps –ef|grep nmon”查询进程号,然后杀掉该进程以停止监控。
3、定期监控:除配合性能测试的短期监控,我们也可以实现对系统的定期监控,作为运营维护阶段的参考。定期监控可通过“#crontab -e”命令实现,在最后一行添加“0 8 * * 1,2,3,4,5 /nmon -f -s 30 -c 1200”,表示:周一到周五,从早上08点开始,监控10个小时(到18:00整为止)。
三、NMON监控结果分析
通过后台监控和定期监控,我们可以得到扩展名为nmon的监控文件,这些文件记录着系统资源的数据,需要配合分析工具进行解读。nmon analyser.xls可以将.nmon文件转化为Excel文件,并生成统计图,直观显示系统资源情况。
在测试过程中,我们往往需要更加详细的信息以分析系统性能情况,如果认为磁盘IO偏高,我们需要进一步获取磁盘的详细信息加以分析,在nmon结果中打开“DISK_SUMM”标签页结合系统实际设置,可以进一步确定造成问题的原因,如系统日志级别过低等等。NMON能够提供CPU、内存、硬盘、网络等各方面的信息,对于我们的分析工作能够提供很好的数据支持。
另外,我们可以通过一些输出参数的调整以得到偏重不同角度、或不同形式的统计结果,其中比较常用的“Intervals”参数,该参数定义了原始.nmon文件的取值范围,即统计内容取自原始数据的哪部分。因为原始数据是多个采样点的集合,通过设置“Intervals”的开始、结束值。(如开始为1,结束为60,根据前文的设置,可知这是截取了前十分钟的数据进行统计展示)
总结:本文介绍了适合在Unix、Linux操作系统中使用的主机资源监控工具NMON,并简单说明了其使用方法和常用监控方式。在实际项目中,为了建立完善的监控体系,还可能需要与其他工具、方法配合使用,以达到我们的测试目标。
阅读(1619) | 评论(0) | 转发(0) |