如果你想从头学习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. PAT 旧键盘

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在 2 行中分别给出应该输入的文字.以及 ...

  2. 快速幂解法--x^n

    class Solution{ public: double myPow(double x,int n){ if(==x || n==) return ; if(n == ) return x; if ...

  3. python3 修改计算机名称GUI程序

    from tkinter import *from tkinter import messageboximport tkinterimport winregimport osdef serch(): ...

  4. 【JAVA习题二十九】809*??=8*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。

    package erase; public class 八九与问好两位数的乘积和 { public static void main(String[] args) { int m,n;//m十位,n个 ...

  5. 带你学够浪:Go语言基础系列 - 8分钟学控制流语句

    ★ 文章每周持续更新,原创不易,「三连」让更多人看到是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) " 对于一般的语言使用者来说 ,20% ...

  6. cnblogs 博客爬取 + scrapy + 持久化 + 分布式

    目录 普通 scrapy 分布式爬取 cnblogs_spider.py 普通 scrapy # -*- coding: utf-8 -*- import scrapy from ..items im ...

  7. css布局相关:涉及到常见页面样式难点

    一.display:table用法 Table:display:tableBody:table-row-group;Tr: table-row;Td: table-cell https://www.c ...

  8. x memory pool c语言 内存池

    #ifndef X_MEMORY_H #define X_MEMORY_H #include <stdlib.h> #include <stdio.h> #include &l ...

  9. 【javascript的那些事】等待加载完js后执行方法

    很多时候,你也许会碰到 使用的情景: js文件b.js还没有从服务器端加载到web端,而吧a.js中已经调用了b.js中的方法 实例: 这里是加载echart的时候碰到的具体实例 引入js " ...

  10. 如何快速修改/替换GIF的背景?

    案例是将白色背景换成另一个颜色的背景.图是某女同事百度上搜到的,共有83个图层. 若是Windows系统的,Ctrl = Command 若是要换背景图,而不是纯色背景,步骤一样,只需将那个填充颜色的 ...