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 文章目录 一、文本布局编程指…

std::vector<>的{}用法与stl中的共享指针

讨论 std::vector&#xff1c;&#xff1e;的{}用法比较方便&#xff0c;在stl中的共享指针中是否适用&#xff1f; 代码 #include <iostream> #include <memory> #include <vector> using namespace std;int main() {vector<int> vt1({1,3,5});vec…

element tree 设置check-strictly=true后,手动重写逻辑实现父子关联

前言 遇到需求如下&#xff1a; 当取消勾选某个节点为按钮时&#xff0c;并且该节点的同级节点都为按钮时&#xff08;此时父级是勾选状态&#xff09;&#xff0c;不管同级节点是否都取消勾选&#xff0c;那么父级不取消勾选。除非手动取消父级勾选&#xff08;原因是&#…

[python] Python日志记录库loguru使用指北

Loguru是一个功能强大且易于使用的开源Python日志记录库。它建立在Python标准库中的logging模块之上&#xff0c;并提供了更加简洁直观、功能丰富的接口。Logging模块的使用见&#xff1a;Python日志记录库logging总结。Loguru官方仓库见&#xff1a;loguru&#xff0c;loguru官…

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

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

ELK企业级实战

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

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

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

逻辑操作符

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

树莓派安装windows系统

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

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

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

黑龙江等保测评流程

一、等保测评概述 黑龙江等保测评&#xff0c;即信息安全等级保护测评&#xff0c;是一项依据国家网络安全等级保护制度规定&#xff0c;对非涉及国家秘密的网络安全等级保护状况进行检测评估的活动。它包括标准符合性评判活动和风险评估活动&#xff0c;旨在依据网络安全等级…

一文入门Nanomsg通信库

转载自本人博客&#xff1a;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官方在线文档&#xff1a;https://nanomsg.org/index.html 本文全部代码用C实现。 以前一直在使用ZeroMQ库处理…

点云从入门到精通技术详解100篇-基于卷积和注意力机制的3D点云特征提取

目录 前言 国内外研究现状 卷积神经网络 三维卷积神经网络 稀疏卷积[21] 基于3D点云数据的目标分类任务 基于Transformer[12]的点云特征提取 神经网络归一化策略 基于3D点云的语义分割任务[45] 基于3D点云的实例分割任务 基于3D点云的目标检测任务[73], [74] 2 相关…

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

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

淘宝商品评论爬虫实战指南:基于Requests与Cookies的实现

在本指南中&#xff0c;我们将深入探讨如何使用Python的requests库结合Cookies机制&#xff0c;高效且合法地爬取淘宝网上的任意商品评论数据。此教程不仅涵盖技术细节&#xff0c;还涉及道德与合规性考量&#xff0c;旨在为读者提供一个全面且实用的爬虫开发框架。 一、前言与…

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 (个人题解)(待补完)

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

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

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

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

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

283. 移动零【快慢指针】【C++】

题目描述 移动零 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 2: 输入: nu…