Jmeter系列(38)- 详解性能监控工具 nmon
如果你想从头学习Jmeter,可以看看这个系列的文章哦
https://www.cnblogs.com/poloyy/category/1746599.html
前言
- 做性能测试,服务器监控是至关重要的,前面也讲了通过 ServerAgent 去监控服务器
- 这一篇博文将详细讲解 nmon 监控工具
nmon 官方介绍
- nmon是一种在 AIX 与各种 Linux 操作系统上广泛使用的监控与分析工具
- 它能在系统运行过程中实时地捕捉系统资源的使用情况,记录的信息比较全面
- 它可将服务器系统资源耗用情况收集起来并输出一个特定的文件,并可利用 excel 分析工具(nmon analyser)进行数据的统计分析
nmon 可监控的数据类型
- CPU使用率
- 内存使用情况
- 磁盘适配器
- 文件系统中的可用空间
- 页面空间和页面速度
- 异步I/O,仅适用于AIX
- 网络文件系统(NFS)
- 磁盘 I/O 速度、传输和读/写比率
- 服务器详细信息和资源
- 内核统计信息
- 消耗资源最多的进程
- 运行队列信息
nmon 特点
- nmon 运行不会占用过多的系统资源,通常情况下CPU利用率不会超过 2%
- 功能强大,监控数据类型全面
- 结合grafana之类的仪表图,可以更直观的实时展示所监控的数据
- 移植性、兼容性较好
- 无人值守监控
- 可以实时查看监控结果,也可以测试结束后本地查看监控结果
nmon 在做性能测试时的劣势
不能像 ServerAgent 一样集成到 Jmeter 中查看监控结果
Linux 下安装并运行 nmon
检查安装环境
# 查看操作系统的信息
uname -a # 查看linux发行版本
lsb_release -a

下载 nmon
方式一
官方地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

通过 FTP 上传到服务器目录下
方式二
服务器直接敲命令行
wget http://sourceforge.net/projects/nmon/files/nmon16e_mpginc.tar.gz
这种方式无法下最新版的
百度云下载链接
包含了 nmon 安装包和分析数据工具包
链接:https://pan.baidu.com/s/1WHmlf-Em3FfKbUUa_GWi6A 提取码:w6gy
解压
tar -zxvf nmon16m_helpsystems.tar.gz
查看解压后的文件

运行 nmon
我的系统是 x86_64 centos8,敲
./nmon_x86_64_centos8

常用 nmon 快捷命令
- q : 停止并退出 nmon
- h : 查看帮助
- c : 查看 CPU 统计数据
- m : 查看内存统计数据
- d : 查看硬盘统计数据
- k : 查看内核统计数据
- n : 查看网络统计数据
- N : 查看 NFS 统计数据
- j : 查看文件系统统计数据
- t : 查看高耗进程
- V : 查看虚拟内存统计数据
- v : 详细模式

按多个快捷命令可以同时显示多项监控结果哦
nmon 命令行参数
启动 nmon 时,也可以指定一些参数
| 参数 | 作用 |
| -f | 监控结果以文件形式输出,默认:机器名_日期_时间.nmon |
| -F | 和 -f 一样作用,不过要指定输出文件名 |
| -s | 采样频率,单位秒 |
| -c | 采样次数 |
| -m | nmon 文件保存的目录 |
| -T | 显示资源占用率高的进程 |
命令行栗子
./nmon -f -t -s -c -m /data/nmon
每 10s 采集一次系统资源数据,共采集 6 次(1 min 内收集 6 次),将最终 nmon 文件生成在 /data/nmon 目录下

将这个 .nmon 文件传输到本地,用于后续的结果分析
重点
- 一般来说不建议对稳定性测试(压力测试)使用 nmon 监控,因为生成的 nmon 文件超过10M时,分析工具会由于内存不足导致报错
- 如果必须进行的话,建议加大采样频次,降低采样次数(低于330次)
nmon 监控结果分析
nmon_analyser 介绍
- nmon 监控捕获的信息,一般用 nmon_analyser 来进行分析
- nmon_analyser 由 IBM 提供, 使用 excel 的宏命令分析加载生成 excel 图表,展示资源占用的各项信息
下载nmon_analyser
官方:http://nmon.sourceforge.net/pmwiki.php?n=Site.Nmon-Analyser
百度云链接:https://pan.baidu.com/s/1WHmlf-Em3FfKbUUa_GWi6A 提取码:w6gy

解压后发现有两个文件
- psd:说明文档
- xlsm:宏文件,分析工具
打开 nmon analyser v66.xlsm
记住一定要通过 office 或者 wps 用 excel 的方式打开哦,且需要启动了宏

打开 .nmon 文件
点击 Analyze nmon data,选择 nmon 文件

查看监控结果数据

Jmeter系列(38)- 详解性能监控工具 nmon的更多相关文章
- 反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) C#中缓存的使用 C#操作redis WPF 控件库——可拖动选项卡的TabControl 【Bootstrap系列】详解Bootstrap-table AutoFac event 和delegate的分别 常见的异步方式async 和 await C# Task用法 c#源码的执行过程
反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) 背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮 ...
- Jmeter常用功能详解
嘻嘻,忙碌的一周,马上就到周四了~明天就是周五了,可以去嗨了! 这几天正式成立了一个微信订阅号,旨在免费帮助需要入门软件测试的小白! 各位走过路过的亲,欢迎订阅哦:扫描二维码即可订阅
- PHP输出缓存ob系列函数详解
PHP输出缓存ob系列函数详解 ob,输出缓冲区,是output buffering的简称,而不是output cache.ob用对了,是能对速度有一定的帮助,但是盲目的加上ob函数,只会增加CPU额 ...
- Jmeter 测试计划元素详解
Jmeter 测试计划元素详解 by:授客 QQ:1033553122 由于篇幅问题,采用链接分享的形式,烦请复制以下网址,黏贴到浏览器中打开,下载 http://pan.baidu.com/s/1n ...
- jmeter --响应断言详解
jmeter --响应断言详解 响应断言 :对服务器的响应进行断言校验 (1)应用范围: main sample and sub sample, main sample only , sub-samp ...
- jmeter 基础功能详解
jmeter 基础功能详解 thread group:包含一组线程,每个线程独立地执行测试计划. sampler:采样器,有多种不同的sample实现,用来发起各种请求,如http请求,jdbc请求, ...
- SignalR新手系列教程详解总结(转)
SignalR新手系列教程详解总结 GlobalHost.ConnectionManager.GetHubContext<TodoListHub>() .Clients.Clients(l ...
- 猫哥网络编程系列:详解 BAT 面试题
从产品上线前的接口开发和调试,到上线后的 bug 定位.性能优化,网络编程知识贯穿着一个互联网产品的整个生命周期.不论你是前后端的开发岗位,还是 SQA.运维等其他技术岗位,掌握网络编程知识均是岗位的 ...
- 【WebApi系列】详解WebApi如何传递参数
WebApi系列文章 [01]浅谈HTTP在WebApi开发中的运用 [02]聊聊WebApi体系结构 [03]详解WebApi参数的传递 [04]详解WebApi测试和PostMan [05]浅谈W ...
随机推荐
- Netty源码学习系列之1-netty的串行无锁化
前言 最近趁着跟老东家提离职之后.到新公司报道之前的这段空闲时期,着力研究了一番netty框架,对其有了一些浅薄的认识,后续的几篇文章会以netty为主,将近期所学记录一二,也争取能帮未对netty有 ...
- 倍增法求LCA代码加详细注释
#include <iostream> #include <vector> #include <algorithm> #define MAXN 100 //2^MA ...
- JS中的各类运算符
2020-04-15 JS中的各类运算符 // 假设有如下代码,那么a(10)的返回结果是?( ) function a(a) { a^=(1<<4)-1; return a; } // ...
- FastJson将Java对象转换成json
确保环境依赖都配置好! 1.在pom.xml导入依赖 <dependency> <groupId>com.alibaba</groupId> <artifac ...
- nodejs如何从异步回调函数返回想要的值
const fs = require('fs') let read=()=>{ fs.readFile("./contents/test.json",(err,data)=& ...
- 数据库(mysql)基础操作
DDL(数据定义语言)------>建库,建表 DML(数据操作语言)------>对表中的记录操作增删改查 DQL(数据查询语言)------>对表中的查询操作 DCL(数据控制语 ...
- 【Azure SQL】数据库性能分析
前置条件 用户有查询数据统计权限 GRANT VIEW DATABASE STATE TO database_user; CPU性能问题 正在发生 查看前X个CPU消耗查询 (汇总) SELECT T ...
- Head_First_Python(中文版)完整版PDF免费下载_百度云盘
Head_First_Python(中文版)完整版PDF免费下载_百度云盘 提取码:bjbg 本书特色 根据认知科学和学习理论的最新研究成果,这本书采用一种适合大脑的丰富格式娓娓道来,而不是长篇累牍地 ...
- APP移动端测试
重点: app测试的内容 add 命令 monkey命令 次重点:模拟器的安装 雷电 夜神 android 自带的模拟器 真机测试 简单了解云测Testing 腾讯云() 了解:市场有点移动端的操 ...
- Git在windows使用git时出现:warning: LF will be replaced by CRLF
$ rm -rf .git // 删除.git $ git config --global core.autocrlf false //禁用自动转换 $ git init $ git add