Jmeter基础篇(22)服务器性能监测工具Nmon的使用

一、前言

我们在日常做压测的过程中,不仅仅需要监控TPS,响应时间,报错率等这些系统基础性能数据,还需要对服务器的性能(如CPU、磁盘、内存、网络IO等)做监控,以求对系统运行过程中的硬件性能有一个较为通透的掌握。在做服务器性能监控过程中,Nmon就是我们最为常用的一个工具啦!

今天博主带大家一起学习一下,如何使用Nmon这款工具,执行服务器性能的监控操作!

二、Nmon简介

Nmon是一款仅适用于Linux操作系统的开源性能监控工具

它可以通过运行简单的指令,来获取服务器的CPU利用率、磁盘占用率、I/O等各个方面的资源使用数据,并可利用 Excel 分析工具(nmon analyser)或者其他的一些工具,来进行数据的统计分析

三、安装Nmon服务器性能监控工具

1. 查询操作系统版本

在安装之前,需要先查询一下操作系统的版本信息,方式如下:

yum install -y redhat-lsb
lsb_release -a 

这样你就可以看到对应的系统版本情况啦:

Distributor ID: CentOS
Description:    CentOS Linux release 7.8.2003 (Core)
Release:        7.8.2003
Codename:       Core

2.安装Nmon

你可以从这个地址,下载Nmon完整组件套装:Nmon超级无敌小套装

然后将对应版本的组件,上传到服务器上,解压。

例如你的操作系统是CentOS7,那你就可以上传CentOS7对应的版本;

如果你是Ubuntu操作系统,就可以上传Ubuntu对应的版本;

如果你是国产操作系统例如欧拉,银河麒麟等,可以直接尝试使用nmon_x86_64_centos7

3.Nmon组件的放置位置示意

我一般是这样子放的,首先建一个nmon文件夹:

然后把nmon_x86_64_centos7文件丢这个文件夹里即可(你可以根据自己的操作系统版本自行斟酌放入哪个组件)。

然后在nmon文件夹内再创建一个目录,名字叫reports。这样你就有了这样的一个结构:

4.分权限

接下来我们给Nmon文件夹分777权限:

分好后就是这样子啦:

如果你想要用命令实现分权限,也可以使用这个命令:

sudo chmod -R 777 /root/Downloads/nmon(这里是你nmon文件夹的绝对路径)

四、启动Nmon

cd /到nmon的安装目录

./nmon_x86_64_centos7 -s 2.5 -c 300 -f -m /nmon/reports

使用上面这句指令,就可以启动Nmon了,相关参数解释如下:

  • -f 监控结果报告以文件形式输出,默认_日期.nmon格式
  • -s 2.5 每隔2.5秒抽样一次
  • -c 指的是取出多少个采样点,如果为300,则为2×300/60=10分钟。建议最多设置300个抽样
  • -m 指定监控文件的存放目录,-m后跟指定目录,如果不指定目录,则会在该命令的原目录下生成相应的监控文件(需要注意的是,在某些版本的操作系统中,reports后面不能加/,否则会无法正常记录结果)

五、停止nmon监控

如果想要停止监控,可以使用如下方式:

# 查询进程号
ps -ef|grep nmon
# 查出进程号后,使用如下语句杀掉进程即可
kill -9 PID

六、导出nmon测试结果

导出reports文件夹下最新生成的.nmon文件即可。

七、nmon文件解析成图表

这时你就需要下载一个nmon_analyser_v52_1.xlsm工具了,可以在这里下载:

然后打开nmon_analyser_v52_1.xlsm,把刚才生成的nmon文件拖拽进去,就可以生成一个xlsm文件!这个就是结果文件啦!

结果文件大概就是长这个样子:

1.注意事项

使用nmon analyser需要借助Excel的宏,但WPS Office默认没有安装宏,即使你下载了插件,貌似也不能正常使用。所以还是老老实实的使用Microsoft的Office吧,博主使用的2006,能够正常的生成报表。

2.生成的报表中的参数意义

以下图片来自网络哦,仅作参考:



上一篇:Jmeter基础篇(21)教你手动修改Jmeter测试报告和压测结果

测试开发工程师一只,也在不断的学习阶段,平时的小经验不定期分享。
希望看我写的文字的人,可以少走弯路 祝工作学习顺利。
博主经验有限,若有不足,欢迎交流,共同改进~
愿与同在CSDN的你共同进步。
相关推荐
sinat_3842410911 分钟前
使用 npm 安装 Electron 作为开发依赖
服务器
朝九晚五ฺ26 分钟前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
Kkooe2 小时前
GitLab|数据迁移
运维·服务器·git
久醉不在酒2 小时前
MySQL数据库运维及集群搭建
运维·数据库·mysql
虚拟网络工程师3 小时前
【网络系统管理】Centos7——配置主从mariadb服务器案例(下半部分)
运维·服务器·网络·数据库·mariadb
BLEACH-heiqiyihu3 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器
勤奋的小王同学~4 小时前
项目虚拟机配置测试环境
服务器
007php0074 小时前
GoZero 上传文件File到阿里云 OSS 报错及优化方案
服务器·开发语言·数据库·python·阿里云·架构·golang
JosieBook4 小时前
【网络工程】查看自己电脑网络IP,检查网络是否连通
服务器·网络·tcp/ip
tester Jeffky4 小时前
深入探索JMeter的执行器时间线:从CLArgsParser到JmeterEngine
jmeter