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的你共同进步。
相关推荐
橘颂TA15 分钟前
【Linux】死锁四条件的底层逻辑:从锁冲突到 STL 组件的线程安全实践(Ⅵ)
linux·运维·服务器·c++·死锁
黄焖鸡能干四碗1 小时前
智能制造工业大数据应用及探索方案(PPT文件)
大数据·运维·人工智能·制造·需求分析
橙露1 小时前
国产PLC与进口PLC全面对比分析:技术、市场与未来趋势
运维·网络
lbb 小魔仙1 小时前
【Linux】云原生运维效率提升:Linux 终端工具链(kubectl + tmux + fzf)组合拳教程
linux·运维·云原生
清水白石0081 小时前
解构异步编程的两种哲学:从 asyncio 到 Trio,理解 Nursery 的魔力
运维·服务器·数据库·python
Joren的学习记录2 小时前
【Linux运维大神系列】Kubernetes详解3(kubeadm部署k8s1.23高可用集群)
linux·运维·kubernetes
代码游侠2 小时前
应用——智能配电箱监控系统
linux·服务器·数据库·笔记·算法·sqlite
眠りたいです2 小时前
Docker核心技术和实现原理第二部分:docker镜像与网络原理
运维·网络·docker·容器
Tisfy2 小时前
网站访问耗时优化 - 从数十秒到几百毫秒的“零成本”优化过程
服务器·开发语言·性能优化·php·网站·建站
2501_933513042 小时前
Linux下载离线rpm和依赖包的方法
linux·运维·服务器