【JMeter】使用nmon进行性能资源监控

一、前言

​ 在工作中可能会遇到需要在压测的时候对Linux服务器进行性能资源监控的情况。这时可以用nmon来对服务器进行监控。

二、nmon的下载安装

1.查看系统信息

shell

复制代码
cat /etc/os-release

结果为

shell

复制代码
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

很明显,我们的系统为Debian 12

2.查看CPU信息

shell

复制代码
lscpu

结果为

shell

复制代码
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         36 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  16
  On-line CPU(s) list:   0-15
Vendor ID:               AuthenticAMD
  Model name:            AMD Ryzen 7 4800H with Radeon Graphics
    CPU family:          23
    Model:               96
    Thread(s) per core:  2
    Core(s) per socket:  8
    Socket(s):           1
    Stepping:            1
    CPU(s) scaling MHz:  100%
    CPU max MHz:         2900.0000
    CPU min MHz:         0.0000
    BogoMIPS:            5800.00
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse ss
                         e2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm pni pclmulqdq monitor ssse3 fma cx16 sse4_1
                         sse4_2 movbe popcnt aes xsave osxsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy
                          abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bp
                         ext perfctr_llc mwaitx fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb s
                         ha_ni umip rdpid
Virtualization features:
  Virtualization:        AMD-V
  Hypervisor vendor:     Windows Subsystem for Linux
  Virtualization type:   container

这里可以看出我们系统为x86_64的,CPU为AMD的

2.下载

nmon下载地址:nmon and njmon | Main / HomePage

点击左侧Download Binaries ,在右侧找到上面查到的信息对应版本的nmon进行下载

3.解压

将下载好的压缩包放进Linux中,解压。

新建文件夹nmonTest,找到对应的或者最近版本的nmon,复制到文件夹中,

shell

复制代码
mkdir nmonTest
cp nmon_x86_64_debian10 ./nmonTest/nmon
cd nmonTest

然后需要赋予nmon文件执行权限,否则无法正常执行nmon

shell

复制代码
chmod u+x nmon

检查依赖

shell

复制代码
ldd nmon

4.一个小问题

在初次安装时,遇到了问题:error while loading shared libraries: libncurses.so.6: cannot open shared object file: No such file or directory

根据报错内容提示,没有找到共享库libncurses.so.6

解决方法:

缺啥补啥,安装一下该依赖即可

shell

复制代码
sudo apt-get install libncurses6  // Debian和Ubuntu等Debian系发行版使用该命令
sudo yum install libncurses.so.6 // Red Hat、CentOS等Red Hat系发行版使用该命令

三、在性能测试时使用命令行进行监控并生成报告

1.在前台进行资源监控

输入./nmon

可根据提示进行动态查看数据,例如,按c可查看cup信息,再次按c取消。

2.在后台进行资源监控

可以在帮助文档中查询具体用法

shell

复制代码
./nmon -h

以下方命令为例:

shell

复制代码
./nmon -ft -s5 -c 1000 

nmon的命令其实与JMeter的命令类似

上面命令中

-t:使用高频率的进程展示出来

-f :输出到指定的文件

-s5 -c 1000 :每隔5s采集1次,一共采集1000次(默认采集1天,-s300 -c288)

3.在性能测试中使用

​ 首先需要算出性能测试持续的时间。假设性能测试持续时间为五分钟,那么我们需要将nmon的运行时间设置的长一些。这里我们运行350秒,运行顺序为,先运行nmon,再运行JMeter

shell

复制代码
./nmon -ft -s5 -c  70

我们可以查看进程,可以发现nmon在运行中,代表在采集中,想要强行停止可以kill掉进程

shell

复制代码
ps -ef | grep nmon

运行完成后得到结果文件

4.结果文件查看

​ 可以发现nmon生成的报告为.nmon格式,那么我们需要怎么查看我们的结果呢?

这时需要使用nmon analyser来进行解析。

下载同样是在nmon官网点击左侧**nmon-Analyser**,下拉找到下载即可

将下载下来的压缩包解压,使用Microsoft Office打开nmon analyser v69_2.xlsm,不建议使用WPS打开,因为WPS使用宏是需要付费的

点击按钮上传生成的.nmon文件生成对应excel

可查看各项性能指标

2023最新Jmeter接口测试从入门到精通(全套项目实战教程)

相关推荐
文人sec3 天前
性能测试-jmeter9-逻辑控制器、定时器压力并发
测试工具·jmeter·性能优化·模块测试
CesareCheung4 天前
JMeter分布式压力测试
分布式·jmeter·压力测试
测试界清流4 天前
jmeter使用技巧
jmeter
春时似衿里4 天前
jmeter配置数据库连接步骤
数据库·jmeter
新知图书4 天前
JMeter的安装部署
jmeter
程序员杰哥4 天前
什么是Jmeter? Jmeter工作原理是什么?
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·测试用例
乐神嘎嘎嘎5 天前
Jmeter测试
jmeter
卓码软件测评5 天前
第三方软件测试机构【性能测试工具用LoadRunner还是JMeter?】
java·功能测试·测试工具·jmeter·性能优化
BatyTao5 天前
Jmeter执行数据库操作
数据库·jmeter
二宝哥5 天前
性能测试工具Jmeter之java.net.BindException: Address already in use
jmeter