服务器测试技术详解 主机资源监控利器

运维 服务器运维
在性能测试过程中,对主机资源的监控有着重要意义。一方面,在测试过程中可以判断加压是否成功、系统是否能承受当前压力,确保系统安全;另一方面,测试结束后,通过对监控数据的整理,可以为性能分析、发现问题、寻找瓶颈提供数据支持。本文将结合工作中的实际情况,介绍Unix、Linux操作系统中常用的资源监控工具NMON及使用方法。

在性能测试过程中,对主机资源的监控有着重要意义。一方面,在测试过程中可以判断加压是否成功、系统是否能承受当前压力,确保系统安全;另一方面,测试结束后,通过对监控数据的整理,可以为性能分析、发现问题、寻找瓶颈提供数据支持。本文将结合工作中的实际情况,介绍Unix、Linux操作系统中常用的资源监控工具NMON及使用方法。

一、NMON介绍

nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具, nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中。nmon工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。并且,nmon运行不会占用过多的系统资源,通常情况下CPU利用率不会超过2%。

针对不同的操作系统版本,nmon有相应版本的程序,需要注意的是该文件需要执行授权操作方可正常运行。

二、NMON使用方法

实际工作中,nmon有三种常用的使用模式,分别是实时监控、后台监控和定期监控模式。下面分别加以介绍。

1、实时监控:在完成配置后,只需要“#./nmon”命令即可运行程序,通过一些快捷键调取关心的系统资源指标进行显示,如按键“C”可以查看CPU相关信息;按键“D”可以查看磁盘信息;按键“T”可以查看系统的进程信息;“M”对应内存、“N”对应网络等等,完整的快捷键对应内容可以通过帮助(按键“H”)查看,如图1 NMON实时监控界面所示,显示了Linux系统CPU、内存、进程信息,包括了CPU的用户、系统、等待和空闲状态值,可用内存、缓存大小以及进程的CPU消耗等详细指标。该种方式显示信息实时性强,能够及时掌握系统承受压力下的运行情况,每颗CPU利用率是多少、内存使用多少、网络流量多少、磁盘读写……这些数据实时刷新,一目了然。但是如果我们希望将一段时间的资源情况记录下来,以备后续的分析工作,则需要以另一种方式使用nmon。

 

 

图 1 NMON实时监控界面

2、后台监控:为了配合性能测试,我们往往需要将一个时间段内系统资源消耗情况记录下来,这时可以使用命令:./nmon -f -s 10 -c 360。说明:

-f :按标准格式输出文件名称:<hostname>_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文件,并生成统计图,直观显示系统资源情况。如图2 系统资源汇总所示,显示了系统CPU及IO资源的总体使用情况。其中蓝色曲线表示CPU资源,可知测试过程中CPU利用率在70%上下波动,表明系统对于CPU资源利用比较充分,未出现瓶颈,也未出现资源利用不足情况。

 

图 2 系统资源汇总

在测试过程中,我们往往需要更加详细的信息以分析系统性能情况,如果认为磁盘IO偏高,我们需要进一步获取磁盘的详细信息加以分析,在nmon结果中打开“DISK_SUMM”标签页,如图3 磁盘资源汇总所示。

 

 

图 3 磁盘资源汇总

观察结果,发现磁盘写入数据较多,平均值达到每秒450KB,可以判断这是造成磁盘IO偏高的主要原因,那么结合系统实际设置,可以进一步确定造成问题的原因,如系统日志级别过低等等。NMON能够提供CPU、内存、硬盘、网络等各方面的信息,对于我们的分析工作能够提供很好的数据支持。

另外,我们可以通过一些输出参数的调整以得到偏重不同角度、或不同形式的统计结果,其中比较常用的“Intervals”参数,该参数定义了原始.nmon文件的取值范围,即统计内容取自原始数据的哪部分。因为原始数据是多个采样点的集合,通过设置“Intervals”的开始、结束值。(如开始为1,结束为60,根据前文的设置,可知这是截取了前十分钟的数据进行统计展示)

总结:本文介绍了适合在Unix、Linux操作系统中使用的主机资源监控工具NMON,并简单说明了其使用方法和常用监控方式。在实际项目中,为了建立完善的监控体系,还可能需要与其他工具、方法配合使用,以达到我们的测试目标。
 

责任编辑:桑丘 来源: 51CTO
相关推荐

2011-03-28 16:37:38

2012-08-23 10:01:03

Linux服务器

2012-08-22 14:05:25

Linux服务器

2022-06-14 07:41:21

WEB服务器静态资源

2020-10-24 15:31:10

Linux服务器工具

2011-04-22 10:36:09

Server Push推送技术

2014-12-01 11:25:11

sysdigLinux

2009-12-16 16:17:17

服务器远程监控系统

2010-12-22 10:26:41

straceLinux服务器

2019-10-12 13:33:47

Windows服务器主机加固服务器安全

2011-07-13 10:07:28

服务器基准测试

2011-03-23 10:17:26

2012-12-14 10:16:26

2010-08-04 12:14:23

NFS服务器

2009-10-10 11:47:26

服务器测试方案

2015-05-07 09:31:49

CollectdCollectd-We监控服务器

2010-09-10 16:19:31

配置tftp服务器

2009-09-02 14:23:19

邮件服务器性

2010-08-26 22:01:47

DHCP服务器

2024-03-14 10:51:13

服务器技术.NET Core
点赞
收藏

51CTO技术栈公众号