如果你想从头学习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 特点

  1. nmon 运行不会占用过多的系统资源,通常情况下CPU利用率不会超过 2%
  2. 功能强大,监控数据类型全面
  3. 结合grafana之类的仪表图,可以更直观的实时展示所监控的数据
  4. 移植性、兼容性较好
  5. 无人值守监控
  6. 可以实时查看监控结果,也可以测试结束后本地查看监控结果

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的更多相关文章

  1. 反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) C#中缓存的使用 C#操作redis WPF 控件库——可拖动选项卡的TabControl 【Bootstrap系列】详解Bootstrap-table AutoFac event 和delegate的分别 常见的异步方式async 和 await C# Task用法 c#源码的执行过程

    反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑)   背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮 ...

  2. Jmeter常用功能详解

    嘻嘻,忙碌的一周,马上就到周四了~明天就是周五了,可以去嗨了! 这几天正式成立了一个微信订阅号,旨在免费帮助需要入门软件测试的小白! 各位走过路过的亲,欢迎订阅哦:扫描二维码即可订阅

  3. PHP输出缓存ob系列函数详解

    PHP输出缓存ob系列函数详解 ob,输出缓冲区,是output buffering的简称,而不是output cache.ob用对了,是能对速度有一定的帮助,但是盲目的加上ob函数,只会增加CPU额 ...

  4. Jmeter 测试计划元素详解

    Jmeter 测试计划元素详解 by:授客 QQ:1033553122 由于篇幅问题,采用链接分享的形式,烦请复制以下网址,黏贴到浏览器中打开,下载 http://pan.baidu.com/s/1n ...

  5. jmeter --响应断言详解

    jmeter --响应断言详解 响应断言 :对服务器的响应进行断言校验 (1)应用范围: main sample and sub sample, main sample only , sub-samp ...

  6. jmeter 基础功能详解

    jmeter 基础功能详解 thread group:包含一组线程,每个线程独立地执行测试计划. sampler:采样器,有多种不同的sample实现,用来发起各种请求,如http请求,jdbc请求, ...

  7. SignalR新手系列教程详解总结(转)

    SignalR新手系列教程详解总结 GlobalHost.ConnectionManager.GetHubContext<TodoListHub>() .Clients.Clients(l ...

  8. 猫哥网络编程系列:详解 BAT 面试题

    从产品上线前的接口开发和调试,到上线后的 bug 定位.性能优化,网络编程知识贯穿着一个互联网产品的整个生命周期.不论你是前后端的开发岗位,还是 SQA.运维等其他技术岗位,掌握网络编程知识均是岗位的 ...

  9. 【WebApi系列】详解WebApi如何传递参数

    WebApi系列文章 [01]浅谈HTTP在WebApi开发中的运用 [02]聊聊WebApi体系结构 [03]详解WebApi参数的传递 [04]详解WebApi测试和PostMan [05]浅谈W ...

随机推荐

  1. 从程序员到项目主管再到项目总监,一个IT从业者三个职业生涯阶段的工作生活日常

    这是王不留的第 8 篇原创文章 前段时间写过<王不留的十多年工作和生活的流水帐>,在知乎.简书,还有不少微信的朋友私信问我每天四点钟是如何做到的?你现在的作息时间是怎么安排的? 于是,我将 ...

  2. zabbix内存百分比监控告警

    本文结合配置内存不足10%触发报警的需求,zabbix给我们提供的模板,里面都已经配置好了item和trigger.但是给我们的模板是当内存小于20M的时候才会触发报警,这样不能满足我们的需求,我们需 ...

  3. 实验四 Linux系统C语言开发环境学习

    项目 内容 这个作业属于哪个课程 Linux系统与应用 这个作业的要求在哪里 作业要求链接 学号-姓名 17041428-朱槐健 作业学习目标 1.Linux系统下C语言开发环境搭建 2.学习Linu ...

  4. mysql8.0 Mac下的安装

    一.下载及安装 首先去官网下载mac对应版本的Mysql,尾缀为.dmg的程序包 下载地址:https://dev.mysql.com/downloads/mysql/ 二.启动 在 Setting ...

  5. 数值格式化 NumberFormat、 DecimalFormat、 RoundingMode

    NumberFormat [简介] java.text.NumberFormat extends java.text.Format extends java.lang.Object 实现的接口:Ser ...

  6. php 替换模板中的 PHP源码标签字符方法

    //替换php代码function RepPhpAspJspcode($string){ global $public_r; if(!$public_r[candocode]){ //$string= ...

  7. Java——几点重要知识笔记(一)

    学了Java有一段时间了,自认为有一些基础知识比较重要,因此记下来共享,不喜勿喷. 一.标识符 (1)定义:在Java语言中,凡是对类,方法,变量,包,参数等命名时,所使用的字符序列 (2)包含的内容 ...

  8. git安装和第一次提交过程

    1,新建文件夹test,运行命令 git init 2,找到test的.git文件夹,打开之后找到config文件,在最后边加上一句话 [user] email=your email name=you ...

  9. ado.net Web前端:关于JavaScript知识点的简单梳理

    学习js:1.htmml2.cssjs+html+css == html5 js的组成:1).ecamscript ES是js的标准,js 是es 的实现2)文档对象模型(Document Objec ...

  10. ViewDragHelper类的基本使用

    在android的开发包android.support.v4.widget中有一个ViewDragHelper类.这个类的作用是帮助我们处理View的拖拽滑动.在一个ViewGroup类的内部定义一个 ...