jmeter+nmon+nmon analysis使用

2023-10-28 02:10
文章标签 使用 jmeter analysis nmon

本文主要是介绍jmeter+nmon+nmon analysis使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

jmeter版本:3.0
java版本:1.8

第一部分:jmeter 在gui模式下制作脚本

安装java环境

1.下载java
官网
2.安装jdk,下载完成后,双击安装,一路下一步即可,安装完成后,配置环境变量
右键计算机属性->高级系统设置->系统属性->高级->环境变量->添加如下的系统变量:
变量名:【JAVA_HOME】
变量值:【D:\Program Files\Java\jdk1.8.0_92】【jdk安装路径】
变量名:【path】
变量值:【;%JAVA_HOME%\bin;】
变量名:【CLASSPATH】
变量值:【.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;】【.不能漏】




3.验证java环境
运行cmd->输入java -version->显示java版本就表示jdk安装成功,如下图

安装meter

1.下载Jmeter,官网地址:http://jmeter.apache.org/download_jmeter.cgi
2.解压jmeter
3.启动Jmeter
双击Jmeter解压路径(apache-jmeter-3.0\bin)的bin下面的jmeter.bat,如下图


制作测试脚本

1.创建一个线程组
测试计划→添加→Threads→线程组



2.创建http请求
线程组→添加→Sampler→Http请求



3.功能解释

1.Threads:这个组件主要用来控制Jmeter并发时产生线程的数量,在它的下一级菜单下只有一个组件(线程组),可以这么理解每个线程就是一个虚拟的用户。所有的其他类型组件必须是(线程组)节点的子节点。
2.配置单元:和Sample组件一起工作,主要用来配置Sample如何来发起请求访问服务器,这个东西的主要特点是可以把一些Sample的共同配置放在一个元素里面方便管理,配置单元是有作用域的。作用域和树的那个关系一样越是上级节点的作用域越大,越是接近叶子节点的
作用域就越小,可以复写上级作用域的配置。
3.定时器 : 这个主要是用来调节(线程组),控制线程每次运行测试逻辑(比如说:发出请求)的时间间隔。当然这个下面还有很多类型的定时器,他们主要功能就是调节时间间隔,但个个组件之间的策略有很大不同。
4.前置处理器 和 后置处理器类似一个HOOK,在测试执行之前和执行之后执行一些脚本的逻辑。该组件我还没有具体使用过,但大致功能就是这样,非重点组件。
5.Sampler:表示客户端发送某种格式或者规范的请求到服务端
6.断言: 意思是指对于Sampler完成了请求发送之后,判断一下返回的结果是否满足期望。
7.监听器 : 这个组件不同于平时在Web编程的那种监听器,他是伴随着Jemeter测试的运行而从中抓取运行期间的数据的一个组件,经常使用的是聚合报告组件,从里面可以统计到测试的TPS,响应时间等关键测试数据。

4.设置线程组参数



关键参数解释 :

线程数:最大测试时使用的线程数。
Ramp-Up Period : Jmeter达到指定最大线程数的时间。
循环次数 : 如果是Forever,线程组中的线程将不间断的连续测试系统,当然也可以设置每个线程测试的次数,当完成了规定次数后,该线程将自动退出线程组。
调度器 : 主要用来指定该测试的一些时间信息,比如从几点到几点运行测试,如果到了指定时间测试没有进行完成,测试也会被停止。

5.设置请求参数,根据请求信息,配置响应的参数即可


6.保存测试脚本到任意位置,关闭jmeter gui界面

第二部分:命令行执行jmeter

1.将jmeter解压后的文件夹放到服务器上面



2.进入到bin目录下,给jmeter.sh 添加可执行权限



3.执行命令

基础参数解释:

-h 帮助 -> 打印出有用的信息并退出
-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
-t 测试文件 -> 要运行的 JMeter 测试脚本文件
-l 日志文件 -> 记录结果的文件
-r 远程执行 -> 启动远程服务

4.命令行结果解读


四秒钟增加了363次线程,平均每秒96.6个线程,平均响应时间131毫秒,最块响应时间7毫秒,最慢响应时间1748毫秒,错误率为0.00%

10秒钟总共执行1000个线程,平均每秒97.4个,平均响应时间56毫秒,最快响应时间7毫秒,最慢响应时间1748毫秒,错误率为1.10%

5.日志结果解读
打开jmeter gui页面,添加聚合报告与查看结果树



将刚才生成的日志文件导入进来即可


第三部分:nmon监控性能指标与解析

1.下载nmon工具
2.将nmon添加可执行权限
3.执行命令



解释:以后台运行nmon,并且记录数据文件,每10秒监控一次,一共监测360次
4.下载nmon analysis对上面生成的数据采集文件进行解析
1. 打开nmon analyser.xls工具;
2. 调整excel宏安全性:工具-宏-安全性(修改安全级别与可靠发行商)
(选择)安全级别:低
(勾上)信任所有安装的加载项和模板
(勾上)信任对于“Visual Baisc项目”的访问
3.修改完后,确定-关闭nmon analyser.xls,重新打开;
4.点击Analyse nmon data按钮,加载之前生成的数据采集文件。
这样会自动将数据转换为图标的形式

5.nmon具体参数详解



作者:MR_Hanjc
链接:https://www.jianshu.com/p/8faa1fb3765f
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

这篇关于jmeter+nmon+nmon analysis使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/289995

相关文章

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

python使用try函数详解

《python使用try函数详解》Pythontry语句用于异常处理,支持捕获特定/多种异常、else/final子句确保资源释放,结合with语句自动清理,可自定义异常及嵌套结构,灵活应对错误场景... 目录try 函数的基本语法捕获特定异常捕获多个异常使用 else 子句使用 finally 子句捕获所

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时