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

使用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下载地址:https://nmon.sourceforge.io/pmwiki.php

点击左侧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

可查看各项性能指标

相关推荐
贾伟康6 小时前
【健康菜谱助手|05】HarmonyOS ArkTS 购物清单实战:去重食材并同步勾选、数量与清空动作
软件测试·移动开发·harmonyos·arkts·arkui
贾伟康17 小时前
【健康菜谱助手|01】HarmonyOS ArkTS 菜谱详情页实战:组织食材、营养、步骤和收藏状态
软件测试·移动开发·harmonyos·arkts·arkui
贾伟康1 天前
【健康菜谱助手|04】HarmonyOS ArkTS 一周膳食计划实战:管理日期、餐次与菜谱替换的联动
软件测试·移动开发·harmonyos·arkts·arkui·1024程序员节
贾伟康1 天前
【健康菜谱助手|02】HarmonyOS ArkTS 烹饪步骤实战:把分步操作、完成状态和返回恢复做稳
软件测试·移动开发·harmonyos·arkts·arkui
贾伟康1 天前
【健康菜谱助手|03】HarmonyOS ArkTS 冰箱食材推荐实战:从本地食材选择生成可解释的候选菜谱
软件测试·移动开发·harmonyos·arkts·arkui·1024程序员节
贾伟康2 天前
【化学实验室|20】HarmonyOS ArkTS AppGallery 发布复查实战:核对包名、版本、设备、素材和离线声明
软件测试·移动开发·harmonyos·arkts·arkui
贾伟康2 天前
【化学实验室|19】HarmonyOS ArkTS 回归测试实战:覆盖启动、空数据、异常输入和重复点击
软件测试·移动开发·harmonyos·arkts·arkui
成渝丶2 天前
自动发布如何避免重复提交:三个检查点
软件测试·自动化
泽众云测试4 天前
泽众TestAgent-面向测试的AI智能体
软件测试·人工智能·ai测试
zuozewei8 天前
第02篇-k6-脚本结构与生命周期
软件测试·jmeter·性能测试·k6·ai 编程