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 ...
随机推荐
- java实现第四届蓝桥杯逆波兰表达式
逆波兰表达式 正常的表达式称为中缀表达式,运算符在中间,主要是给人阅读的,机器求解并不方便. 例如:3 + 5 * (2 + 6) - 1 而且,常常需要用括号来改变运算次序. 相反,如果使用逆波兰表 ...
- jdbc+mysql常见报错总结
1.The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone. You ...
- 8、react 高阶组件
1.高阶组件:封装 高阶组件使用得是react得一种模式,增强现有组件得功能 一个高阶组件就是一个函数,这个函数接收得是组件类作为参数得,并且返回得是一个新组件,再返回得新组件中有输入参数组件不具备得 ...
- if test表达式逻辑判断不能用&&
用&&会报错 用and 例如: <if test="age!=null and name!=null">
- 快捷符号输入小tip(option,alt键的妙用)
我们知道特殊符号的输入可以通过上档键(shift)加数字来完成.如!@#$%... -> (shift + 1 2 3 4 5...) 但是少有人知道windows中的alt键,或是macos中 ...
- 如何安装vim自动补全插件YouCompleteMe(YCM)
Vim是全平台上一个高度可拓展的编辑器.它本身只是一个简陋的编辑器,但是因为有各种插件而变得强大.使用Vim编写代码就不免遇到代码补全的问题.常用的代码补全插件有两个:日本人shougo写的neoco ...
- 深入理解JVM(③)低延迟的Shenandoah收集器
前言 Shenandoah作为第一款不由Oracle(包括一起的Sun)公司的虚拟机团队所领导开发的HotSpot垃圾收集器.是只存在于OpenJDK当中的,最初由RedHat公司创建的,在2014年 ...
- rust 编译器工作流
将源代码转为高级中间表示,在将其转为中级中间表示,在将其转为LLVM IR, 最终输出机器码. rust 租借检查 选项优化,代码生成(宏, 范型) , 都是在MIR层.
- C#基础——IO
最近一直忙着做项目,偶尔会碰到一些文件读写方面的需求,当我回忆读写的代码时,发现脑子里存在诸多空白.这是不妙的,于是连忙翻出以前记下的笔记,上面还存在着我当初写下的知识点.怕以后哪天笔记找不到了或者有 ...
- 对 JsonConvert 的认识太肤浅了,终于还是遇到了问题
一:背景 1. 讲故事 在开始本文之前,真的好想做个问卷调查,到底有多少人和我一样,对 JsonConvert 的认识只局限在 SerializeObject 和 DeserializeObject ...