Jmeter下载、安装及配置

news2025/1/20 4:51:57

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.coloradmin.cn/o/1880801.html

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

相关文章

如何利用AI生成可视化图表(统计图、流程图、思维导图……)免代码一键绘制图表

由于目前的AI生成图表工具存在以下几个方面的问题: 大多AI图表平台是纯英文,对国内用户来说不够友好;部分平台在生成图表前仍需选择图表类型、配置项,操作繁琐;他们仍需一份规整的数据表格,需要人为对数据…

C语言 | Leetcode C++题解之第199题二叉树的右视图

题目: 题解: #define MAX_NODE_NUM 100 int* rightSideView(struct TreeNode* root, int* returnSize){if (root NULL) {*returnSize 0;return NULL;}int *res (int *)malloc(sizeof(int) * MAX_NODE_NUM);int cnt 0;struct TreeNode **record (st…

PCIe物理层_CTLE(continuous time linear equalizer)

1.CTLE(continuous time linear equalizer) 的作用 信号在介质的传输过程中存在趋肤效应(skin effiect)和能量损耗,在接收端数据会存在失真,并且呈现出低通特性。什么意思呢?就是低频率的信号衰减幅度小&#xff0c…

【数据结构】(C语言):二叉搜索树

二叉搜索树: 树不是线性的,是层级结构。基本单位是节点,每个节点最多2个子节点。有序。每个节点,其左子节点都比它小,其右子节点都比它大。每个子树都是一个二叉搜索树。每个节点及其所有子节点形成子树。可以是空树。…

昇思25天学习打卡营第7天|网络构建

昇思25天学习打卡营第7天|网络构建 前言函数式自动微分函数与计算图微分函数与梯度计算Stop GradientAuxiliary data神经网络梯度计算 个人任务打卡(读者请忽略)个人理解与总结 前言 非常感谢华为昇思大模型平台和CSDN邀请体验昇思大模型!从今…

绿色算力|暴雨发布浸没式液冷服务器

随着数字经济的飞速发展和AI创新应用的不断突破,算力规模持续增长,最新发布的《数字中国发展报告(2023年)》显示,2023年中国算力总规模达到230EFLOPS,居全球第二位。 服务器作为算力基础设施底座&#xff…

mac安装navicate

1.下载好之后点击安装包安装 2.一般情况下会提示安全性什么的,点击允许即可,然后会出现如下界面,点击安装即可. 3.点击打开 4.然后出现如下界面,点击Enter 5.将安装包拖入即可. 6.等待安装即可 7.安装完成后会在启动台看到Navicat16 的图标 8.然后打开软件界面如下:

Variables Reference for vscode

Predefined variables Visual Studio Code 支持在调试、任务配置文件以及一些特定的设置中使用变量替换。这些变量可以使用 ${variableName} 语法在 launch.json 和 tasks.json 文件的某些键和值字符串中使用。 Predefined variables Visual Studio Code 支持以下预定义变量…

[图解]分析模式高阶+课程讲解03物品模式

1 00:00:00,280 --> 00:00:03,440 下一个要探讨的模式是物品模式 2 00:00:04,310 --> 00:00:08,300 说是物品模式,实际上更多的说物品规格 3 00:00:09,210 --> 00:00:12,560 首先,我们要区分一下物品和物品规格的定义 4 00:00:14,440 -->…

205.Mit6.S081-实验二 system calls

Lab2:system calls 在上一个实验室中,您使用系统调用编写了一些实用程序。在本实验室中,您将向xv6添加一些新的系统调用,这将帮助您了解它们是如何工作的,并使您了解xv6内核的一些内部结构。您将在以后的实验室中添加更多系统调用…

人工智能期末复习笔记(更新中)

分类问题 分类:根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类 垃圾分类、图像分类 怎么解决分类问题 分类和回归的区别 1. 逻辑回归分类 用于解决分类问题的一种模型。根据数据特征或属性,计算其归属于某一类别 的概率P,…

[Cloud Networking] OSPF

OSPF 开放式最短路径优先(Open Shortest Path First)是一种动态路由协议,它属于链路状态路由协议,具有路由变化收敛速度快、无路由环路、支持变长子网掩码和汇总、层次区域划分等优点。 1 OSPF Area 为了适应大型网络&#xff0…

C程序设计谭浩强第五版

程序习题 第一章1、第5题2、第6题 第三章1、第2题2、第2题3、第3题4、第4题Tips 第一章 1、第5题 编写一个C程序,运行时输出以下图形: #include <stdio.h> int main() {for (int i 0; i < 4; i) // 输出4行循环控制{for (int j 0; j < i; j) //第几行就输出几…

leetcode-19-回溯-组合问题(剪枝、去重)

引自代码随想录 一、[77]组合 给定两个整数 n 和 k&#xff0c;返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n 4, k 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4]] 1、大致逻辑 k为树的深度&#xff0c;到叶子节点的路径即为一个结果 开始索引保证不…

一、Redis简介

一、Redis介绍与一般应用 1.1 基本了解 Redis全称Remote Dictionary Server(远程字典服务)&#xff0c; 是一个开源的高性能键值存储系统&#xff0c;通常用作数据库、缓存和消息代理。使用ANSI C语言编写遵守BSD协议&#xff0c;是一个高性能的Key-Value数据库提供了丰富的数…

VMware中的三种虚拟网络模式

虚拟机网络模式 1 主机网络环境2 VMware中的三种虚拟网络模式2.1 桥接模式2.2 NAT模式2.3 仅主机模式 3 网络模式选择及配置NAT模式3.1 VMware虚拟网络配置3.2 虚拟机选择网络模式3.3 Windows主机网络配置 4 配置静态IP 虚拟机联网方式为桥接模式&#xff0c;这种模式下&#x…

5.6 0-1背包问题

#include<iostream> #include<string> #include<stdlib.h> #include<bits/stdc.h> using namespace std;int c;//背包容纳的重量 int n;//物品数量 int cw;//当前重量 int cv;//当前价值 int bestv;//当前最优价值 int x[100]; int bestx[100]; struct…

Python 算法交易实验75 QTV200后续想法梳理

说明 在第一步获取数据源&#xff0c;然后进入Mongo(第一个数据节点)开始&#xff0c;QTV200的数据流体系就开始动了。后续用多少时间完成不太好确定&#xff0c;短则数周&#xff0c;长则数月。毕竟有过第一版实验的基础&#xff0c;应该还是可以做到的。 下面就是天马行空&…

【TB作品】玩具电子琴,ATMEGA128单片机,Proteus仿真

题目 7 &#xff1a;玩具电子琴 基于单片机设计一能够发出中音八个音阶的音乐信号的电子琴&#xff0c;能够实现弹奏和音符显示功 能。 具有 8 个音阶按键&#xff0c;每按下一个按键时&#xff0c;所对应的 LED 点亮&#xff0c;音符进行显示。 具体要求如下&#xff1a; &…

zabbix server client 安装配置

Zabbix Server 采用源码包部署&#xff0c;数据库采用 MySQL8.0 版本&#xff0c;zabbix-web 使用 nginxphp 来实现。具体信息如下&#xff1a; 软件名 版本 安装方式 Zabbix Server 6.0.3 源码安装 Zabbix Agent 6.0.3 源码安装 MySQL 8.0.28 yum安装 Nginx 1.20…