性能测试【二】:nmon的常用操作


性能测试服务器信息监控

1、nmon介绍说明

  • nmon主要记录以下方面的数据:
    • CPU占用率;
    • 内存使用情况;
    • 磁盘I/O速度、传输和读写比率;
    • 文件系统的使用率;
    • 网络I/O速度、传输和读写比率、错误统计率与传输包的大小;
    • 消耗资源最多的进程;
    • 计算机详细信息和资源;
    • 页面空间和页面I/O速度;
    • 用户自定义的磁盘组;
    • 网络文件系统;
  • 执行步骤
    • 第一步:执行nmon工具命令,nmon工具会将输出的内容显示到计算机屏幕同时生成一份nmon文件;
    • 第二步:将生成的nmon文件导出到Windows操作系统,使用分析工具对生成的数据文件进行分析;
    • 第三步:该分析工具会将收集到的数据绘制成相关的图表,供分析使用;

2、软件下载

2.1、Nmon下载地址

https://nmon.sourceforge.io/pmwiki.php?n=Site.Download
其实nmon就是shell脚本,nmon文件运行时调用其他的文件,生成性能数据,这个工具运行时也是通过执行nmon脚本接受参数。
https://nmon.sourceforge.io/pmwiki.php?n=Site.Nmon-Analyser

2.2、Nmonanalyser下载地址

https://nmon.sourceforge.io/pmwiki.php?n=Site.Nmon-Analyser

3、nmon使用

3.1、将nmon上传至/usr/local/src目录下,并解压

mkdir -p /usr/local/src/nmon
tar -xf nmon16m_helpsystems.tar.gz -C /usr/local/src/nmon

在这里插入图片描述

3.2、解压后根据自己系统的实际版本查找相应的使用命令,并给命令赋予可执行的权限

cat /etc/redhat-release
chmod +x nmon_x86_64_centos7

在这里插入图片描述

3.3、赋予权限后,执行该命令会,显示结果如下图:

./nmon_x86_64_centos7

在这里插入图片描述
在完成配置后,通过一些快捷键调取关心的系统资源指标进行显示,如按键“C”可以查看CPU相 关信息;按键“D”可以查看磁盘信息;按键“T”可以查看系统的进程信息;“M”对应内存、“N”对应网络等等,完整的快捷键对应内容可以通过帮助(按键 “H”)查看,可以显示Linux系统CPU、内存、进程信息,包括了CPU的用户、系统、等待和空闲状态值,可用内存、缓存大小以及进程的CPU消耗等详细指标。该种方式显示信息实时性强,能够及时掌握系统承受压力下的运行情况,每颗CPU利用率是多少、内存使用多少、网络流量多少、磁盘读写……这些数据均是实时刷新,一目了然。常见的快捷键。

参数用法
c带条形图的CPU利用率统计信息(CPU核心线程)
m内存和交换统计
d磁盘I/O繁忙百分比&每秒读写数据量KB/5图
r资源:机器类型,名称,缓存详细信息和操作系统版本以及Distro+LPAR
ttop进程,1基础、3性能、4大小、5I/O仅root用户可用
n网络统计信息和错误(如果没有错误,则消失)
j文件系统,包括日记文件系统
k内核统计信息运行队列,上下文切换,派生,平均负载和正常运行时间
UCPU使用率统计信息user,user_nice,system,idle,iowait,irq,softirg,steal,guest,guest_nice
u进程详细信息

输入相应的key值可以查看相应的属性,如下图:
在这里插入图片描述

3.4、配置环境变量

  • 如上配置后,如果使用该命令需要找到该命令的详细路径才能使用,这样不是很方便,所以我们需要将nmon的命令添加到系统环境变量中去,以方便我们可以在任何地方都可以使用该命令。
  • 修改启动文件名称:
    mv nmon_x86_64_centos7 nmon
    ./nmon //执行命令
  • 添加到环境变量中:
    # vim /etc/profile (在profile中写入以下两行内容)
    PATH=$PATH:/usr/local/src/nmon ($PATH:后为命令的路径)
    export PATH
  • 保存退出
  • 使配置文件立即生效
    # source /etc/profile
    # nmon (在任何目录下执行nmon命令启动nmon)

3.5、采集监控数据

为了配合性能测试,我们往往需要将一个时间段内系统资源消耗情况记录下来,这时可以使用命令在远程窗口执行命令:

>/usr/local/src/nmon
>./nmon -f -t -s 5 -c 100
  • 参数说明:
    -s 5 每隔n秒抽样一次,这里为1秒
    -c 100 取出多少个抽样数量,这里为100,即监控=5*100/100
    -f 按标准格式输出文件名称:<hostname>_YYMMDD_HHMM.nmon
    -t为最消耗资源的进程
    -m后跟指定目录 //如果不指定目录会在该命令的源目录下生成相应的监控文件
参数用法
-f标准输出到表格文件,默认-s300-c288,为24小时,输出文件格式为:hostname_YMD_HHMM.nmon
-F类似-f,但是支持指定输出文件的名称
-aGPU加速,统计信息
-b切换黑白和彩色模式
-c总统计次数
-s数据统计间隔时间,单位为:秒
-d最大的磁盘数,默认256
-D与-g一起使用以添加磁盘等待/服务时间和运行中状态
-g用户定义的磁盘组获取数据:生成BBBG和DG行
-I设置忽略进程和磁盘繁忙阈值(默认为0.1%),不要使用小于此百分比的百分比保存或显示proc/磁盘
-J关闭日志文件系统统计信息收集(可能导致自动挂载NFS出现问题)
-l数据捕获中的每行磁盘数可避免电子表格宽度问题。默认值为150。EMC=64。
-m把输出文件保存到指定文件夹。通过cron启动nmon时有用
-M为每个CPU线程添加MHz统计信息。某些POWER8型号CPU内核的频率可能不
-N包括适用于V2,V3和V4的NFS网络文件系统
-pmon启动时将输出PID。在脚本中很有用,可捕获PID以便以后安全停止。
-r在基准测试中用于记录运行详细信息,以供以后分析[默认主机名]
-t在输出中包括top流程
-T-t增强,它将命令行参数保存在UARG部分中
-U包括LiuX10CPU使用率统计信息(文件中的CPUUTIL行)

这么多参数,并不需要所有都记住,只需要重点记住几个即可。
输入命令后nmon目录的下面多了一个以.nmon结尾的文件夹,并且容量一直在增加。
因为这个监控文件,持续在写入资源数据,直至100个监控点收集完成,这些操作均自动完成,无需手工干 预,测试人员可以继续完成其他操作。如果想停止该监控,需要通过“#ps –ef|grep nmon”查询进程号,然后杀掉该进程以停止监控。

3.6、生成图形化报表

通过后台监控和定期监控,我们可以得到扩展名为nmon的监控文件,这些文件记录着系统资源的数据,需要配合分析工具(nmon analyser)进行解读。

  1. 将/usr/local/src/nmon/logs文件夹下生成的命令通过sz命令下载到本地

  2. 在本地解压nmon_analyser_v52_1.zip,解压后双击打开nmon_analyser_v52_1.xlsm,点击Analyse nmon data导入nmon文件,生成报告结果。
    在这里插入图片描述

  3. 点击界面上的Analyse nomn data按钮,将下载的下来的文件添加进去
    最后会生成一个xlsm文件,入下图:
    在这里插入图片描述
    注意事项
    nmon analyser需要借助Excel的宏,WPS默认没有安装宏,即使你下载了插件,貌似也不能正常使用。所以还是老老实实的使用Microsoft的吧,小编使用的2007,能够正常的生成报表。
    生成的报表中的参数意义:

sheet 名称sheet 含义
SYS_SUMM系统汇总,蓝线为©Pu占有率变化情沉,粉线为磁盘IO的变化情况;
AAA关于操作系统以及nmon本身的一些信息
BBBB系统外挂存储容量以及存储类型;
BBBC系统外挂存储位置、状态以及描述信息;
BBBD磁盘适配器信息;(包含磁盘适配器名称以及描述)
BBBE包含通过Isdev命令获取的系统设备及其特征,显示vpaths和hdisks之间的映射关系;
BBBG显示磁盘组详细的映射关系;
BBBL逻辑分区(LPAR)配置细节信息;
BBBN网络适配器信息;
BBBPvmtune,schedtune,emstat和Isattr命令的输出信息;
CPUnn显示执行之间内CPU占用情况,其中包含user%、sys%、wait%和idle%;
CPU_ALL所有CPU述,显示所有CPU平均占用情况,其中包含SMT状态;
CPU_SUMM每一个CPU在执行时间内的占用情况,其中包含user%、sys%、wait%和ide%;
DGBUSY磁盘组每个hdisk设备平均占用情况;
DGREAD每个磁盘组的平均读情况;
DGSIZE每个磁盘组的平均读写情况(块大小);
DGWRITE每个磁盘组的平均写情况;
DGXFER每个磁盘组的/O每秒操作;
DISKBSIZE执行时间内每个hdisk的传输块大小;
DISKBUSY每个hdisk设备平均占用情况;
DISKREAD每个hdisk的平均读情况;
DISKWRITE每个hdisk的平均写情况;
DISKXFER每个hdisk的/O每秒操作;
DISKSERV本sheet显示在每个收集间隔中hdisk的评估服务时间(未响应时间)
DISK_SUMM总体disk读、写以及/O操作;
EMCBSIZE/FAStBSIZE执行时间内EMC存储的传输块大小;
EMCBUSY/FAStBUSYEMC存储设备平均占用情况;
EMCREAD/FAStREADEMC存诸的平均读情况;
EMCWRITE/FAStWRITEEMC存储的平均写情况,
EMCXFER/FAStXFER
EMCSERV/FAStSERV
ESSBSIZE本sheet记录在系统中每个vpaths下读写操作的平均数据传输大小(blocksize)Kbytes
ESSBUSY本sheet记录使用ESS系统的每个vpaths下的设备繁忙情况
ESSREAD本sheet记录在系统中每个vpaths,下读取操作的data rate(Kbytes/sec)
ESSWRITE本sheet记录在系统中每个vpaths下写入操作的data rate(Kbytes/sec)
ESSXFER本sheet记录在系统中每个vpaths下每秒的IO操作
ESSSERV本sheet显示在每个收集间隔中vpaths的评估服务时间(未响应时间)
FILE本sheet包含nmon内核内部的统计信息的一个子集,跟sar报告的值相同
FRCA
IOADAPT对于BBBCsheet每个IO适配器列表,包含了数据传输速度为读取和写入操作(千字节/秒)和1/O操作执行的总数量
JFSFILE本sheet显示对于每一个文件系统中,在每个间隔区间正在被使用的空间百分比
JFSINODE本sheet显示对于每一个文件系统中,在每个间隔区间正在被使用的inode百分比
LARGEPAGE本图表显示Usedpages和Freepages随着时间的变化:
LPAR
MEM本sheet主图上显示空闲实存的数量
MEMUSE除%comp参数外,本sheet包含的所有项都和vmtune命令的报告中一样
MEMNEW本sheet显示分配的内存片信息,分三大类:用户进程使用页,文件系统缓存,系统内核使用页
NET本sheet显示系统中每个网络适配器的数据传输速率(千字节/秒)
NETPACKET本sheet统计每个适配器网络读写包的数量;这个类似于netpmon-Odd命令
NFS_sheets
PAGE本sheet统计相关页信息的记录
PROC本sheet包,含nmon内核内部的统计信息。其中RunQueue和Swap-in域是使用的平均时间间隔,其他项的单位是比率/秒
PROCAIO本sheet包含关于可用的和active的异步IO进程数量信息.
TOP
UARG
WLM_sheets
ZZZZ本sheet自动转换所有nmon的时间戳为现在真实的时间,方便更容易的分析

重点需要关注的sheet:SYS_SUMM CPU_ALL MEM
CPU平均占用率可以在SYS_SUMM看
在这里插入图片描述

也可以在CPU_ALL看。
在这里插入图片描述
内存使用率计算:(memtotal-memfree-cached-)/memtotal*100%
在这里插入图片描述

3.7、定时任务

  • 除配合性能测试的短期监控,我们也可以实现对系统的定期监控,作为运营维护阶段的参考。定期监控实现如下:
    • 1、执行命令:#crontab -u 用户 –e
    • 2、 在最后一行添加如下命令:
      0 8 * * 1,2,3,4,5 /usr/local/src/nmon_x86_64_centos7 -f -N -m /nmon/log -s 30 -c 1200
      表示:
      周一到周五,从早上08点开始,监控10个小时(到18:00整为止),输出到/nmon/log
      自动按天采集数据:
      在 crontab 中增加一条记录:
      0 0 * * * root nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1
      300*288=86400 秒,正好是一天的数据。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QQ719872578

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值