Jmeter下载、安装及配置

1 Jmeter介绍

Jmeter是进行负载测试的工具,可以在任何支持Java虚拟机环境的平台上运行,比如Windows、Linux、Mac。

Jmeter模拟一组用户向目标服务器发送请求,并统计目标服务器的性能信息,比如CPU、memory usage。

2 Jmeter下载

1 去官网:https://jmeter.apache.org/download_jmeter.cgi下载

点击Binaries->

2 下载到本地、解压

3 Jmeter配置

打开bin文件夹,双击jmeter.bat会打开一个cmd窗口及打开Jmeter。

cmd窗口里有一些提示信息,比较重要,可以看以下。

Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use CLI Mode (was NON GUI):jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html

问题:字体太小了

1 解决字体太小的问题:修改jmeter.properties配置

1 用notepad++打开D:\developSoftware\apache-jmeter-5.6.3\apache-jmeter-5.6.3\bin\jmeter.properties

2 更新以下字段并重启Jmeter

DescriptionKey=Value必须
修改字体大小jsyntaxtextarea.font.size=24Y
修改右侧参数比例

jmeter.hidpi.mode=true

jmeter.hidpi.scale.factor=2.0

N
修改左侧树结构比例jmeter.tree.icons.size=32x32N
修改工具栏图标大小jmeter.toolbar.icons.size=32x32N

注意:设置完后要重启Jmeter进行检查。

但是设置完重启后,打开字体还是很小。

3 需要修改界面外观:

Options-Look and feel->改到Windows,然后重启:字体显示就好了,不会那么小

2 每次都要去到Jmeter/bin,不方便

选中jmeter.bat,右键,选择发送到桌面。

下次就可以直接双击快捷方式,直接打开Jmeter,不用再去到bin: D:\developSoftware\apache-jmeter-5.6.3\apache-jmeter-5.6.3\bin

4 新建Jmeter脚本并保存

0 双击桌面的快捷方式,打开Jmeter

1 Thread Group 线程组

1 测试计划下:创建线程组

Test Plan右键:Add->Threads->Thread Group

2 修改Thread Group参数:120s内启动300并发数,脚本跑1h

Thread Group
KeyValue描述
Number of Threads (users)300

并发请求数量

线程数:虚拟用户数,一个用户占一个线程。

Ramp-up period (seconds)120

准备时长:设置的虚拟用户数需要多久能全部启动。

比如120s启动300个线程。

Loop countInfinite循环次数:每个线程发送的次数。配置1 就发送一次,配置无穷,就一直发,直到配置的时间到期或手动停止。
Duration (seconds)3720

这个脚本跑多久,公式duration=mins*60s+ramp-up period

比如,3720=60*60+120

2 线程组下:HTTP request请求

0.1 创建HTTP request

右键选中线程组, Add->Sampler->HTTP Request

0.2 修改HTTP request请求

KeyValue描述
protocolhttps协议
Server name or IPbaidu.com
Port number443端口号
HTTP request methodGET请求类型,如GET、POST
Body Data请求体,一般是POST要配置Body

3 HTTP request下创建5项

1 HTTP Header manager 信息头管理

1 创建http header manager

右键选中HTTP request,Add->Config Element->HTTP Header Manager

2 新增header

按页面下方的Add按钮,就会新增一行Name-Value

2 Constant Throughput Timer

1 创建Constant Throughput timer

右键选中HTTP request,Add->Timer->Constant Throughput Timer

2 修改throughput timer

Target throughput per minute = Target_TPS *60

比如6000=100TPS*60,如果想测试1300TPS,那么这个throughput就填78000 (1300*60)

 3 Response Assertion

1 右键选中HTTP request,Add->Assertions->Response Assertion

2 修改response assertion
Key         Value描述
Response codeChecked

怎样验证request成功或失败?

检查点通常可以选response code

Pattern matching rulesEqual匹配规则:要相等
Patterns to test200

 4 查看结果树:view result tree

1 创建view result tree

右键选中HTTP request,Add->Listener->View Results tree

然后就能看到新创建出来的result tree。

5 Aggregrate report

1 创建Aggregrate report

右键选中HTTP request:Add->Listener->Aggregrate report

4 保存test plan

然后就会生成.jmx文件

5 运行测试脚本

1 把参数改小,方便调试

比如:

keyValue
Number of thread1
Ramp-up period10
Duration60
Throughput600

2 按Run按钮,开始跑脚本

3 检查结果

1 可以View result tree 来检查request、response

2 也可以在Aggregrate report里检查跑完结果,比如average、error rate、throughput等

右上角能看到跑了多久,也可以通过选中errors来只显示Error的统计数据

4 清理数据

这次跑完,把数据清理了,参数修正下,接着跑下一轮。要先把数据清理掉,避免混杂在一起,不方便看log。

左边按钮是Clear,右边是Clear all

6 脚本测试通过后,可以用命令跑真正的测试或者可以在VM上跑perf test script.

1 CLI命令跑脚本:

jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]

2 把jmx通过跳板机放到VM上,去执行。

参考:

1 https://blog.csdn.net/weixin_45014379/article/details/124190381

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

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

相关文章

Apple - Text Layout Programming Guide

本文翻译整理自:Text Layout Programming Guide(更新日期:2014-02-11 https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/TextLayout/TextLayout.html#//apple_ref/doc/uid/10000158i 文章目录 一、文本布局编程指…

用合成数据训练边缘侧火灾检测器

火灾是人类面临的重大威胁,检测火灾至关重要。目前的火焰传感器在距离检测方面存在局限性。为了克服这个问题,我的目标是使用机器学习方法创建一个轻量级且高度准确的火灾检测系统。当需要实时数据处理或机器学习模型可用的数据集很少时,这个…

ELK企业级实战

一、Elstic stack在企业的常⻅架构 https://www.bilibili.com/video/BV1x94y1674x/?buvidXY705117E90F73A790429C9CFBD5F70F22168&vd_source939ea718db29535a3847d861e5fe37ef ELK 解决取得问题 痛点1: ⽣产出现故障后,运维需要不停的查看各种不同的⽇志进⾏…

深入解析Java和Go语言中String与byte数组的转换原理

1.Java String与byte[]互相转换存在的问题 java中,按照byte[] 》string 》byte[]的流程转换后,byte数据与最初的byte不一致。 多说无益,上代码,本地macos机器执行,统一使用的UTF-8编码。 import java.nio.charset.S…

逻辑操作符

目录 && --- 逻辑与操作符 || --- 逻辑或操作符 && --- 逻辑与操作符 逻辑与操作符有并且的意思,一般用于判断语句中 逻辑与操作符运行规则是都要为真,才会继续执行或计算 360笔试题: 有关前置(--),后置(-…

树莓派安装windows系统

第1步: https://uupdump.net/下载对应的系统文件,所有选择项都默认选择。 第2步: 解压下载后的文件,双击运行下面文件。等待下载完成,等待过程很漫长,很考验耐心。 第3步: 提示已经finish了&…

Streamer-Sales 销冠 —— 卖货主播大模型来了,一键让你成为销冠!

今天给大家推荐一个在GitHub上非常火的卖货主播大模型 Streamer-Sales,旨在让你成为销冠。 这是一个能够根据商品特点进行解说的卖货主播大模型,通过生成的细腻、独到的解说词,激发用户的购买欲望。 相关链接 项目地址:github.c…

一文入门Nanomsg通信库

转载自本人博客:https://www.jjy2023.cn/2024/06/27/%e4%b8%80%e6%96%87%e5%85%a5%e9%97%a8nanomsg%e9%80%9a%e4%bf%a1%e5%ba%93/ 1. Nanomsg介绍 Nanomsg官方在线文档:https://nanomsg.org/index.html 本文全部代码用C实现。 以前一直在使用ZeroMQ库处理…

关于Unity运行时动态修改材质的小秘密

一、问题背景 在以往的Unity项目中涉及到修改材质的需求时,也只是改改材质贴图,材质颜色等,也没遇到那么多动态修改材质的坑。最近在做Unity App Demo时也遇到了要修改材质的小需求,本以为几分钟就能完成了,却花费了我…

Cesium Model 中的剪裁平面 (ClippingPlane)

Cesium Model 中的剪裁平面 (ClippingPlane) 参考: https://www.cnblogs.com/webgl-angela/p/9197672.html Cesium Model 中的剪裁平面 (ClippingPlane) // 相关类: class ClippingPlaneCollection {} class ClippingPlane {}// 剪裁的整体流程: Model.prototype.update () …

牛客小白月赛97 (个人题解)(待补完)

前言: 前天晚上写的一场牛客上比赛,虽然只写出了三道,但比起之前的成绩感觉自己明显有了一点进步了,继续努力吧, 正文: 链接:牛客小白月赛97_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞…

如何用DCA1000持续采集雷达数据

摘要:本文介绍一下如何通过mmwave studio软件,搭配DCA1000数据采集卡,对AWR1843BOOST进行不间断的数据采集。本文要求读者已经掌握了有关基础知识。 本文开放获取,无需关注。 到SensorConfig页面下,一步步操作&#xf…

ubuntu 18 虚拟机安装(3)安装mysql

ubuntu 18 虚拟机安装(3)安装mysql 参考 https://cloud.tencent.com/developer/article/1700780 技术分享 | MySQL 设置管理员密码无法生效一例 https://cloud.tencent.com/developer/article/2014384 在Ubuntu18.04上安装MySQL | 超级详细…

无人机挂载抛弹吊舱技术详解

随着无人机技术的飞速发展,无人机在军事、安全、农业、环保等领域的应用越来越广泛。其中,挂载抛弹吊舱的无人机在精确打击、应急处置等场合发挥着重要作用。抛弹吊舱技术通过将弹药、物资等有效载荷挂载在无人机下方,实现了无人机的远程投放…

昇思25天学习打卡营第7天|模型训练

模型训练 模型训练一般分为四个步骤: 构建数据集。定义神经网络模型。定义超参、损失函数及优化器。输入数据集进行训练与评估。 前面几天依次学习了前面几个步骤的操作,今天继续学习模型训练。 数据集和神经网络模型这个前面已经有详细的介绍。准确…

JVM(13):虚拟机性能分析和故障解决工具之Visual VM

1 Visual VM作用 是到目前为止随JDK发布的功能最强大的运行监视和故障处理程序,并且可以遇见在未来一段时间内都是官方主力发展的虚拟机故障处理工具。官方在VisualVM的软件说明中写上了“All-in-One”的描述字样,预示着他除了运行监视、故障处理外&…

ConcurrentHashMap是如何保证线程安全的-put方法简要分析

简介 ConcurrentHashMap 是 Java 中并发编程中常用的线程安全的哈希表(HashMap)实现。它具有以下几个显著的特点和优点,适合在特定的并发场景中使用: 线程安全性: ConcurrentHashMap 提供了并发访问的线程安全保证&am…

python进阶函数

目录 函数多返回值函数多种传参方式匿名函数 函数多返回值 问:如果一个函数如些两个return(如下所示),程序如何执行? def return_num():return 1return 2result return_num() print(result)答:只执行了第…

Web3 前端攻击:原因、影响及经验教训

DeFi的崛起引领了一个创新和金融自由的新时代。然而,这种快速增长也吸引了恶意行为者的注意,他们试图利用漏洞进行攻击。尽管很多焦点都集中在智能合约安全上,但前端攻击也正在成为一个重要的威胁向量。 前端攻击的剖析 理解攻击者利用前端漏…

AWT的菜单组件

AWT的菜单组件 前言一、菜单组件的介绍常见的菜单相关组件常见菜单相关组件集成体系图菜单相关组件使用小要点 二、AWT菜单组件的代码示例示例一示例二实现思路 前言 推荐一个网站给想要了解或者学习人工智能知识的读者,这个网站里内容讲解通俗易懂且风趣幽默&…