Linux环境JMeter脚本性能测试、easyNmon生成监控报告

一、下载JMeter安装包

Jmeter是Java开发的,需要依赖JDK环境,因此我们需提前安装好JDK。

Jmeter是开源的工具,我们直接到官网下载即可。

最新版本下载地址:Apache JMeter - Download Apache JMeter

二、安装JMeter

#新建jmeter文件夹
mkdir jmeter#解压文件
tar -xzvf apache-jmeter-5.2.1.tgz

 三、下载及安装easyNmon

github:https://github.com/mzky/easyNmon

#新建easyNmon文件夹
mkdir easyNmon#解压文件
tar -zxvf easyNmon.tar.gz

解压完成后,打开文件夹easyNmon,通过如下命令启动:(选中自己合适方式)

./easyNmon  #前台启动,控制台断开服务停止
./easyNmon &  #后台启动,控制台断开服务同样停止
nohup ./easyNmon > easyNmon.log &  #后台启动,控制台断开服务仍正常运行在easyNmon目录下,输入 ./easyNmon -h 查看相关信息

 一般使用 ./easyNmon & 即可,默认端口为9999

 四、jmx配置

<!--线程组-->

<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="测试" enabled="true"><stringProp name="ThreadGroup.on_sample_error">continue</stringProp><elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"><boolProp name="LoopController.continue_forever">false</boolProp><intProp name="LoopController.loops">-1</intProp></elementProp><stringProp name="ThreadGroup.num_threads">50</stringProp> <!--并发数--><stringProp name="ThreadGroup.ramp_time">1</stringProp>    <!--1sec完成--><boolProp name="ThreadGroup.scheduler">true</boolProp>     <!--调度器开关--> <stringProp name="ThreadGroup.duration">300</stringProp>   <!--持续时间,sec为单位-->  <stringProp name="ThreadGroup.delay"></stringProp>         <!--启动延时,sec为单位-->
</ThreadGroup>

<!--http sample API--> 

<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="HTTP请求" enabled="true"><boolProp name="HTTPSampler.postBodyRaw">true</boolProp><elementProp name="HTTPsampler.Arguments" elementType="Arguments"><collectionProp name="Arguments.arguments"><elementProp name="" elementType="HTTPArgument"><boolProp name="HTTPArgument.always_encode">false</boolProp><stringProp name="Argument.value">=</stringProp><stringProp name="Argument.metadata">=</stringProp></elementProp></collectionProp></elementProp><stringProp name="HTTPSampler.domain">192.168.96.168</stringProp>    <!--服务器名称或者ip--><stringProp name="HTTPSampler.port">80</stringProp>       <!--请求端口--> <stringProp name="HTTPSampler.protocol">http</stringProp>         <!--请求协议--> <stringProp name="HTTPSampler.contentEncoding">utf-8</stringProp>     <!--内容编码--> <stringProp name="HTTPSampler.path">web/ab.html</stringProp>      <!--请求路径--> <stringProp name="HTTPSampler.method">GET</stringProp>        <!--请求方法--><boolProp name="HTTPSampler.follow_redirects">true</boolProp>     <!--跟随重定向开关--><boolProp name="HTTPSampler.auto_redirects">false</boolProp>      <!--自动重定向开关--><boolProp name="HTTPSampler.use_keepalive">true</boolProp>            <!--使用keepalive开关--><boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>       <!--使用多个/表单数据进行发布--><stringProp name="HTTPSampler.embedded_url_re"></stringProp><stringProp name="HTTPSampler.connect_timeout"></stringProp>    <!--连接超时--> <stringProp name="HTTPSampler.response_timeout"></stringProp>   <!--响应超时-->
</HTTPSamplerProxy>
<stringProp name="HTTPSampler.domain">192.168.1.1</stringProp>
<stringProp name="HTTPSampler.port">8080</stringProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding">utf-8</stringProp>
<stringProp name="HTTPSampler.path">/api/v1/test</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>

<!--easyNmon配置--> 

<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="执行监控" enabled="true"><elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true"><collectionProp name="Arguments.arguments"/></elementProp><stringProp name="HTTPSampler.domain">192.168.227.198</stringProp> <!--easyNmon IP--><stringProp name="HTTPSampler.port">9999</stringProp>              <!--easyNmon 端口--><stringProp name="HTTPSampler.protocol">http</stringProp><stringProp name="HTTPSampler.contentEncoding"></stringProp><stringProp name="HTTPSampler.path">/start?n=${__strReplace(${__TestPlanName},.jmx,-,)}&amp;amp;t=10</stringProp><stringProp name="HTTPSampler.method">GET</stringProp><boolProp name="HTTPSampler.follow_redirects">true</boolProp><boolProp name="HTTPSampler.auto_redirects">false</boolProp><boolProp name="HTTPSampler.use_keepalive">true</boolProp><boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp><stringProp name="HTTPSampler.embedded_url_re"></stringProp><stringProp name="HTTPSampler.connect_timeout"></stringProp><stringProp name="HTTPSampler.response_timeout"></stringProp>
</HTTPSamplerProxy>

五、运行

进入jmeter下的bin目录下运行脚本,未配置jmeter环境变量的条件下,运行的命令:

./jmeter -n -t a.jmx -l res.jtl

其中a.jmx是准备好的jmeter脚本,res.jtl是测试结果文件。

六、查看easyNmon报告 

登录 http://{easyNmon部署地址}:9999/report/,查看报告。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/763895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【GIT】最好用的git可视化教程网站推荐

最好用可视化学习git 网站:https://learngitbranching.js.org/?demo&localezh_CN 玩遍所有关卡&#xff0c;花半天时间便能掌握git &#x1f603; 本地仓库 基础命令介绍 git commit 提交 git branch <分支名> 创建分支 git checkout <分支名> 切换分支 git…

鸿蒙Harmony应用开发—ArkTS(@State装饰器:组件内状态)

State装饰的变量&#xff0c;或称为状态变量&#xff0c;一旦变量拥有了状态属性&#xff0c;就和自定义组件的渲染绑定起来。当状态改变时&#xff0c;UI会发生对应的渲染改变。 在状态变量相关装饰器中&#xff0c;State是最基础的&#xff0c;使变量拥有状态属性的装饰器&a…

【C++ leetcode】双指针问题

1. 611. 有效三角形的个数 题目 给定一个包含非负整数的数组 nums &#xff0c;返回其中可以组成三角形三条边的三元组个数。 题目链接 . - 力扣&#xff08;LeetCode&#xff09; 画图 和 文字 分析 判断是否是三角形要得到三边&#xff0c;由于遍历三边要套三层循环&#x…

苍穹外卖Day3碰到的元注解

1. Target Target注解用于指定自定义注解可以应用的Java元素范围。它的参数是ElementType的枚举值&#xff0c;可以指定一个或多个范围。使用Target可以限制注解只能用于特定的程序元素&#xff0c;如类、方法、字段等。 import java.lang.annotation.ElementType; import ja…

文兴业:从内蒙古小镇到全球金融巨擘的不凡旅程

文兴业的传奇人生&#xff0c;如同一部跨越时间和地域的史诗&#xff0c;描绘了一个内蒙古小镇男孩如何凭借自己的智慧、勤奋和不屈不挠的精神&#xff0c;在全球商界创造了辉煌成就的故事。这个故事不仅仅是关于个人的成功&#xff0c;更是关于如何通过教育和持续的自我提升&a…

开发调试、远程访问、内网穿透解决方案集合

开发调试、远程访问、内网穿透解决方案集合 前言Cpolar下载安装配置与使用 Ngrok购买隧道下客户端配置与使用 ZeroTier注册与安装创建虚拟网络加入虚拟网络配置授权 花生壳Centos系统Ubuntu系统使用花生壳控制台SN码登录添加映射 Loophole通过CLI方式安装登录与注销简单使用身份…

网络安全是什么? 为什么要学网络安全 ?网络安全怎么学习?

网络安全是什么&#xff1f; 网络安全是指保护计算机网络、网络设备、应用程序、数据和用户免受非法访问、攻击、破坏或泄漏的过程和技术。网络安全包括多个领域&#xff0c;例如网络防御、漏洞管理、加密技术、身份验证和访问控制等等。 网络安全非常重要&#xff0c;因为现…

【好玩的经典游戏】Docker环境下部署RPG网页小游戏

【好玩的经典游戏】Docker环境下部署RPG网页小游戏 一、react-tetris小游戏介绍1.1 react-tetris小游戏简介1.2 项目预览二、本次实践介绍2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 安装Docker环境3.2 检查Docker服务状态3.3 检查Docker版本3.4 检查docker compose…

省一餐,是减瘦捷径?还是牺牲健康的换取?

肥胖从来不是靠短时间的&#xff0c;每天少吃一餐就能减掉的&#xff0c;需要长期坚持。但三餐不管哪一餐&#xff0c;长期不吃&#xff0c;都不会有好结果。为了瘦&#xff0c;失去健康值不值呢&#xff1f; 长期不吃早饭后果 1、消耗率、吸收率减慢&#xff1a;身体经过一整…

解锁新功能,Dynadot现支持BITPAY平台虚拟货币

Dynadot现已支持虚拟货币付款&#xff01;借助与BitPay平台的合作&#xff0c;Dynadot为您提供了多种安全的虚拟货币选择。我们深知每位客户都有自己偏好的支付方式&#xff0c;因此我们努力扩大了支付方式范围。如果您对这一新的支付方式感兴趣&#xff0c;在结账时您可以尝试…

扩散模型零样本分类应用笔记

1 Title Your Diffusion Model is Secretly a Zero-Shot Classifier&#xff08;Alexander C. Li, Mihir Prabhudesai, Shivam Duggal, Ellis Brown, Deepak Pathak&#xff09;【ICCV 2023】 2 Conclusion This paper shows that the density estimates from large-scale tex…

阿里云4核8G服务器多少钱一年?

阿里云4核8G服务器优惠价格955元一年&#xff0c;配置为ECS通用算力型u1实例&#xff08;ecs.u1-c1m2.xlarge&#xff09;4核8G配置、1M到3M带宽可选、ESSD Entry系统盘20G到40G可选&#xff0c;CPU采用Intel(R) Xeon(R) Platinum处理器&#xff0c;阿里云活动链接 aliyunfuwuq…

SSH介绍及检测规则思路分析

一、SSH 1、定义 SSH是安全的加密协议&#xff0c;用于远程连接linux服务器。 2、ssh服务的主要功能&#xff1a; 1&#xff09;提供远程链接服务器的功能&#xff1b; 2&#xff09;对远程链接传输的数据进行加密 3、ssh与telnet的区别&#xff1a; 服务链接方式 服务数据…

DBO优化LSBoost回归预测(matlab代码)

DBO-LSBoost回归预测matlab代码 蜣螂优化算法(Dung Beetle Optimizer, DBO)是一种新型的群智能优化算法&#xff0c;在2022年底提出&#xff0c;主要是受蜣螂的的滚球、跳舞、觅食、偷窃和繁殖行为的启发。 数据为Excel股票预测数据。 数据集划分为训练集、验证集、测试集,比…

【国家计算机二级C语言】高分笔记

二叉树 参考 http://t.csdnimg.cn/ozVwT 数据库 SQL程序语言有四种类型&#xff0c;对数据库的基本操作都属于这四类&#xff0c;它们分别为&#xff1b;数据定义语言(DDL)、数据查询语言&#xff08;DQL&#xff09;、数据操纵语言&#xff08;DML&#xff09;、数据控制语言…

领夹麦配LDR6028,电力持久畅聊畅!

#无线麦克风#麦克风&#xff0c;对于大多数人来说&#xff0c;并不陌生。然而&#xff0c;领夹式麦克风&#xff0c;这个看似小巧的音频设备&#xff0c;或许在日常生活中并不常为我们所见。但在自媒体行业、新闻记者等领域&#xff0c;它却是不可或缺的好帮手。这款领夹式麦克…

树状数组优化dp,2617. 网格图中最少访问的格子数

目录 一、题目 1、题目描述 2、接口描述 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 给你一个下标从 0 开始的 m x n 整数矩阵 grid 。你一开始的位置在 左上角 格子 (0, 0) 。 当你在格子 (i, j) 的时候&#xff0c;你可以移动…

架构之安全性维度

流程安全性 安全基本原则&#xff1a;可用性 完整性 机密性 CIA 安全框架&#xff1a;zachman P2DR Sabsa IPDRR IATF 安全评估方法&#xff1a;安全测试&#xff1a; SAST静态测试、 IAST交互测试 安全扫描 危险模型&#xff1a;攻击树分析 DREAD风险评估 渗透测试&#xff1a…

管理类联考–复试–英文面试–问题--规划介绍原因做法--纯英文版

借鉴 https://www.bilibili.com/video/BV1Dk4y187zN/?p4&spm_id_from333.880.my_history.page.clickhttps://www.bilibili.com/video/BV1Dk4y187zN/?p4&spm_id_from333.880.my_history.page.click https://ttsreader.com/zh/https://ttsreader.com/zh/ 规划 视频版…

2024年NOC大赛创客智慧(西瓜创客)图形化编程真题模拟试卷包含答案

详细题目看顶部资源 答案解析 一、选择题 1、C 该段代码是将变量的值翻倍,运行之后变量的值是之前的两倍。变量的值是否改变取决于初始值是否为 0,所以船都不正确 2、C A 透项为让角色说话,不可以广播消息: B 选项为播放一段声音,不可以广播消息; C透项为广播消息,正确: …