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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

BLACKBOX.AI:解锁编程学习新纪元,加速开发的AI得力助手

文章目录 💯BLACKBOX.AI 官网🍁1 BLACKBOX.AI 工具使用教程🍁2 BLACKBOX.AI工具使用界面介绍🍁3 Chat(聊天)功能🍁4 Explore (探索)功能💎4.1 Terminal(终端)功能💎4.2 Discover(发现)功能&…

【Verilog HDL-1】基本、向量、模块

HDL习题 1 阻塞型赋值‘’与非阻塞型赋值‘<’ 阻塞型赋值 b a ba ba&#xff1a;适用于纯组合电路 非阻塞型赋值 b < a b<a b<a&#xff1a;适用与时序逻辑电路 2 wire线型,assign连续赋值 wire a,b,c; assign b a; assign c a;与编程语言不同&#xff…

普通集群与镜像集群配置

一. 环境准备 关闭防火墙和selinux&#xff0c;进行时间同步 rabbitmq-1 Rocky_linux9.4 192.168.226.22rabbitmq-2Rocky_linux9.4192.168.226.23rabbitmq-3Rocky_linux9.4192.168.226.24 修改主机名#192.168.226.22 hostnamectl set-hostname rabbitmq-1#192.168.226.22 ho…

【操作系统期末速成】 EP03 | 学习笔记(基于五道口一只鸭)

文章目录 一、前言&#x1f680;&#x1f680;&#x1f680;二、正文&#xff1a;☀️☀️☀️2.1 考点五&#xff1a;进程的概念及特征2.1 考点六&#xff1a;进程的状态与切换 一、前言&#x1f680;&#x1f680;&#x1f680; ☀️ 回报不在行动之后&#xff0c;回报在行动…

HIVE每日一题

select * from sku_info order by sku_id ; 为什么结果没有顺序排序。什么原因导致的&#xff1f;

75. UE5 RPG 创建场景摆放部件蓝图

这一篇文章来点简单的内容&#xff0c;相当于我们使用蓝图创建类似于unity的预制体。 创建一个一个柱子蓝图 首先&#xff0c;我们创建一个立柱的蓝图&#xff0c;将我们之前创建的柱子上面含有火焰和灯光的部分合并成一个蓝图&#xff0c;方便往场景内添加。 点击创建一个基…

【SpringBoot】SpringBoot核心启动流程源码解析

SpringBoot总体流程 当我们启动一个SpringBoot程序的时候&#xff0c;只需要一个main方法就可以启动&#xff0c;但是对于其中流程时如何执行的&#xff0c;以及如何调用spring的IOC和AOP机制&#xff0c;本篇带着这个问题来整体体系化的梳理下流程。 SpringBootApplication …

【语言模型】Xinference的部署过程

一、引言 Xinference&#xff0c;也称为Xorbits Inference&#xff0c;是一个性能强大且功能全面的分布式推理框架&#xff0c;专为各种模型的推理而设计。无论是研究者、开发者还是数据科学家&#xff0c;都可以通过Xinference轻松部署自己的模型或内置的前沿开源模型。Xinfe…

一种基于滑动窗口扩展上下文的RAG(检索增强生成)优化实现方案实践

RAG&#xff08;检索增强生成&#xff09;是一种结合了检索&#xff08;通常是知识库或数据库&#xff09;和生成模型&#xff08;大语言模型&#xff09;的技术&#xff0c;目的是在生成文本的时候能够参考相关的外部知识。这样&#xff0c;即使生成模型在训练时没有看到某些信…

使用Dockerfile构建镜像 使用docker-compose 一键部署IM项目

本文讲解&#xff1a;使用Dockerfile构建镜像 & 使用docker-compose 一键部署IM项目。 im项目地址&#xff1a;xzll-im &#xff0c;欢迎志同道合的开发者 一起 维护&#xff0c;学习&#xff0c;欢迎star &#x1f604; 1、Dockerfile编写与镜像构建&容器运行 Dockerf…

大语言模型(LLM)LangChain介绍

LangChain是一个利用大语言模型的能力开发各种下游应用的开源框架&#xff0c;它的核心理念是为各种大语言模型应用实现通用的接口&#xff0c;简化大语言模型应用的开发难度&#xff0c;主要的模块示意图为&#xff1a; Index&#xff1a;提供了各类文档导入、文本拆分、文本向…

夏天到了,用这两款软件,悄悄惊艳所有人!

哈喽&#xff0c;各位小伙伴们好&#xff0c;我是给大家带来各类黑科技与前沿资讯的小武。 夏天来了&#xff0c;又到了“露肉”的季节&#xff0c;或许大家会为了身材烦恼&#xff0c;即便有运动意愿却苦于健身计划和时间上安排&#xff0c;也没有合适的免费软件。 别担心&a…

1-爬虫基础知识(6节课学会爬虫)

1-爬虫基础知识&#xff08;6节课学会爬虫&#xff09; 1.什么是爬虫2.爬取的数据去哪了3.需要的软件和环境4.浏览器的请求&#xff08;1&#xff09;Url&#xff08;2&#xff09;浏览器请求url地址&#xff08;3&#xff09;url地址对应的响应 5.认识HTTP/HTTPS5.1 http协议之…

餐饮火锅加盟网站pbootcms模板源码

模板介绍 如果您正在创建火锅店、餐饮店或加盟网站&#xff0c;小编推荐您下载这款餐饮火锅加盟网站pbootcms模板源码&#xff0c;整站源码响应式自适应的设计&#xff0c;可以让您自由编辑且适应任何终端浏览器&#xff0c;节约您的建站时间成本。 模板截图 源码下载 餐饮火…

生成式人工智能和机器人技术是否即将取得最后的突破?

了解生成式人工智能与机器人技术的融合如何彻底改变从医疗保健到娱乐等行业 想象一下这样一个世界&#xff0c;机器人可以谱写交响乐、画出杰作、写出小说。这种创造力与自动化的迷人融合&#xff0c;由 生成式人工智能&#xff0c;不再是梦想&#xff1b;它正在以重大方式重塑…

前后端分离的后台管理系统开发模板(带你从零开发一套自己的若依框架)上

前言&#xff1a; 目前&#xff0c;前后端分离开发已经成为当前web开发的主流。目前最流行的技术选型是前端vue3后端的spring boot3&#xff0c;本次。就基于这两个市面上主流的框架来开发出一套基本的后台管理系统的模板&#xff0c;以便于我们今后的开发。 前端使用vue3ele…

go Channel 原理 (一)

Channel 设计原理 不要通过共享内存的方式进行通信&#xff0c;而是应该通过通信的方式共享内存。 在主流编程语言中&#xff0c;多个线程传递数据的方式一般都是共享内存。 Go 可以使用共享内存加互斥锁进行通信&#xff0c;同时也提供了一种不同的并发模型&#xff0c;即通…

Postman设置请求间自动保存返回参数,方便后续请求调用,减少复制粘贴

postman中常常出现&#xff1a;有两个请求&#xff0c;一个请求首先获取验证码或者token&#xff0c;再由得到的验证码或token编写body发送另一个请求。如何设置两个请求间自动关联相关数据呢&#xff1f; 通过环境存储全局变量 现在有两个请求如下图&#xff0c;生成验证码是…

代理IP如何助力旅游信息聚合?

在数字化时代&#xff0c;旅游信息聚合对于提升服务质量、优化用户体验起着至关重要的作用。随着在线旅游预订的普及&#xff0c;旅游信息的采集、整合和呈现成为了一个复杂而关键的过程。在这个过程中&#xff0c;代理IP技术以其独特的优势&#xff0c;为旅游信息聚合提供了强…

服务器硬件以及RAID配置

目录 一、RAID磁盘阵列原理&#xff08;嘎嘎重要&#xff09; 1、RAID的概述 2、常用的RAID 2.1、RAID 0 2.2、RAID 1 2.3、RAID 5 2.5、RAID 10 3、阵列卡介绍 二、建立软件RAID磁盘阵列 1、添加硬盘 2、使用fdisk分区&#xff0c;类型为fd 3、mdata命令使用参数 …