压测工具之JMeter使用

news2025/1/22 16:58:48

文章目录

  • 前言
  • 压测工具
  • 如何使用
    • 启动JMeter工具
    • 开始创建测试环境
      • 1、创建线程组
      • 2、配置元件
      • 3、构造HTTP请求
      • 4、添加HTTP请求头信息
    • 5、添加断言
      • 6、添加查看结果树
      • 7、添加聚合报告信息
      • 8、测试计划创建完成了
  • 执行测试计划

前言

最近公司项目需要进行压测,查验S A A S 系 统中的多 租 户数据是否串库等问题!

压测工具

JMeter这款工具相信接触过测试的小伙伴都有所耳闻,即使是开发,应该也会或多或少的有所了解。
这就是今天的主角,我们是使用这款工具来完成我们对系统的压测。

如何使用

接下来我们看一下如何使用这款压测工具

启动JMeter工具

打开JMeter的包目录,进入到bin目录中,双击jmeter.bat文件即可打开。
在这里插入图片描述
双击后,会出现两个界面,一个是cmd的启动界面,如下:
在这里插入图片描述
上面窗口内容我们翻译一下:

不要使用GUI模式进行负载测试!,仅用于测试创建和测试调试。
对于负载测试,请使用CLI模式(以前是NON GUI):
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
并且修改JMeter批处理文件的环境变量:HEAP=“-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m”

另一个启动后的操作页面如下:
在这里插入图片描述

开始创建测试环境

1、创建线程组

在“Test Plan”上右键 【add】–>【Threads(Users)】–>【Thread Group】
在这里插入图片描述
在这里插入图片描述
设置线程数以及循环的次数。这里设置线程数为300,循环4次。 在这里插入图片描述

2、配置元件

在我们刚刚创建的Thread Group上单击右键 【Add】–>【Config Element】–>【HTTP Request Default】来配置我们需要进行测试的程序协议、地址以及端口,假如所有的接口测试访问的域名和端口都一样的话,可以使用该元件进行配置,如果服务器地址进行了变更,只需要修改请求默认值就可以了,具体UI界面如下图所示:
在这里插入图片描述在这里插入图片描述

3、构造HTTP请求

在“Thread”右键 【Add】->【Samlper】–>【HTTP Request】需要测试的API的请求路径和数据。具体操作UI界面如下图所示
在这里插入图片描述
在这里插入图片描述

4、添加HTTP请求头信息

在创建的Thread Group上右键 【Add】–>【Config Element】–>【HTTP Header Manage】可以在这里配置token以及Content-Type
在这里插入图片描述
在这里插入图片描述

5、添加断言

在创建的Thread Group上右键 【Add】–>【Assertion】–>【Response Assertion】

根据响应的数据来进行判断请求是否成功。我在这里只判断的响应代码是否为200。还可以配置提示信息

具体UI如下图所示:
在这里插入图片描述
在这里插入图片描述

6、添加查看结果树

在创建的Thread Group上右键 【Add】–>【Listener】–>【View the Result Tree】

然后点击运行按钮就可以看到我们的结果树了
在这里插入图片描述

7、添加聚合报告信息

在创建的Thread上右键 【Add】–>【Linster】–>【Aggregate Report】

然后点击运行按钮就可以看到聚合报告的结果了
在这里插入图片描述

8、测试计划创建完成了

上述步骤完成了,我们保存测试计划即可

执行测试计划

执行测试计划的时候最好用GUI界面,需要到命令行来执行测试计划
在这里插入图片描述

执行的命令为:

jmeter -n -t filename.jmx -l webreport/testResult.txt -e -o webreport/webs

filename.jmx 为测试计划文件路径

webreport/testResult.txt 为测试结果文件路径

webreport/webs 为web报告保存路径(文件夹记得要为空)

好了,关于JMeter的使用就到这里。
欢迎大家点击下方卡片,关注《coder练习生》

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

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

相关文章

7.18训练总结

考场错误: 今天是一套neerc的题,难度相对较大,我犯的低级错误比较少,但是对于题目顺序的把握能力,应该提高,尝试去做自己擅长的题目,而不是跟着别人的开题顺序,这样能够更顺畅吧。 …

实验室LIMS系统检测工作流程

LIMS系统检测工作流程 检测工作流程是LIMS核心内容,通过检测工作管理可加强协同工作能力、进一步强化质量控制环节、提高数据报出速度,提高工作效率、减低数据出错率,保证质量记录的完整、监控规范的执行;检测流程以样品检测为主…

Jenkins | 获取凭证密码

目录 方法一:查看所有账号及密码 方法二:查看指定账号密码 方法一:查看所有账号及密码 Jenkins > 系统管理 > 脚本命令行 com.cloudbees.plugins.credentials.SystemCredentialsProvider.getInstance().getCredentials().forEach{i…

element-ui message消息提示组件 ①延长提示消息在页面停留时间②提示消息换行

以实现下面的效果为示例 完整代码&#xff1a; let msgList ["数据1被引用", "数据2被引用"];// 使用html的换行标签拼接信息&#xff0c;默认行距太小&#xff0c;此处用两个<br/><br/>let message 以下数据不能删除&#xff0c;原因是&…

【Spring core学习四】Bean作用域和生命周期

目录 一、Bean的作用域 &#x1f308;1、被修改的Bean值现象 &#x1f308;2、 Bean 的 6 种作⽤域 &#x1f308;3、设置作用域 二、Spring的执行流程 三、Bean的生命周期 &#x1f308;1、Bean生命周期的过程 &#x1f308;2、演示生命周期 一、Bean的作用域 &…

[MySql]JDBC编程

JDBC&#xff0c;即Java Database Connectivity&#xff0c;java数据库连接。是一种用于执行SQL语句的Java API&#xff0c;它是Java中的数据库连接规范。这个API由 java.sql.*,javax.sql.* 包中的一些类和接口组成&#xff0c;它为Java开发人员操作数据库提供了一个标准的API&…

全域Serverless化,华为云引领下一代云计算新范式

近日&#xff0c;华为开发者大会2023&#xff08;Cloud&#xff09;在东莞成功举办&#xff0c;期间“全域Serverless化&#xff0c;引领下一代云计算新范式”专题论坛人气满满。华为云首席产品官方国伟携手业界专家、客户、伙伴&#xff0c;面向广大开发者&#xff0c;分享了在…

Authing 身份云上线数据对象管理(元数据),助力企业构建唯一身份源

在身份管理领域&#xff0c;元数据具有重要的作用和价值。元数据有助于理解数据的结构和意义&#xff0c;提升数据处理效率&#xff1b;促进跨部门、跨组织的数据共享和协作&#xff1b;以及支持数据分析&#xff0c;为业务决策提供支持等。当前&#xff0c;Authing 身份云已经…

在ICC/ICC2/FC中运行Calibre

1. which calibre找到calibre的安装目录 > which calibre > /eda/mentor/ixl_cal_version/bin/calibre 2. 在 /eda/mentor/ixl_cal_version目录下使用find ./* -name "icc_calibre.tcl",找到icc_calibre.tcl 3. 打开icc_calibre.tcl里面有不同工具(ICC2/FC/…

《Linux0.11源码解读》理解(五) head之开启分页

先回顾一下地址长度以及组合的演变&#xff1a;16位cpu意味着其数据总线/寄存器也是16位&#xff0c;但是地址总线&#xff08;寻址能力&#xff09;与此无关&#xff0c;可能是20位。可以参考&#xff1a;cpu的位宽、操作系统的位宽和寻址能力的关系_cpu位宽_brahmsjiang的博客…

C++——map和set(multimap和multiset)

目录 1.关联式容器 2.键值对 3.树形结构的关联式容器 3.1 set 3.1.1 set的介绍 3.1.2 set的使用 3.2 multiset 3.2.1 multiset的介绍 3.2.2 multiset的使用 3.3 map 3.3.1 map的介绍 3.3.2 map的使用 3.4 multimap 3.4.1 multimap的介绍 3.4.2 multimap的使用 …

抖音小店选品攻略:10个技巧助你选择助轻松学会选品技巧

抖音小店是目前非常火爆的电商平台之一&#xff0c;许多商家都希望能在抖音上开设自己的小店。而在开设抖音小店之前&#xff0c;选品是一个非常重要的环节。下面是不若与众总结的一些抖音小店选品技巧&#xff0c;希望能帮助到你。 1. 确定目标受众&#xff1a;在选品之前&…

数据库应用:MySQL高级语句

目录 一、理论 1.常用查询 2.函数 3.进阶查询 二、实验 1.普通查询 2.函数 3.进阶查询 三、问题 1.MySQL || 运算符不生效 四、总结 一、理论 1.常用查询 常用查询包括&#xff1a;增、删、改、查&#xff1b; 对 MySQL 数据库的查询&#xff0c;除了基本的查询外…

(学习笔记-TCP连接断开)建立了连接,但是客户端或服务端出现问题,会怎么样?

客户端突然出现故障 客户端出现故障指的是客户端的主机发生了宕机或者断电的场景。发生这种情况的时候&#xff0c;如果服务端一直不会发送数据给客户端&#xff0c;那么服务端是永远无法感知到客户端宕机这件事的&#xff0c;也就是服务端的TCP连接将一直处于ESTABLISH 状态&…

两巨头强强联手!美国EB-5投资移民新项目侨外出国首发

7月15日&#xff0c;在侨外出国“见证辉煌历史 重启明日新章”的主题活动中&#xff0c;一个全新乡村EB-5投资移民项目——峰堡长岭天然气开发项目正式扬帆起航。 这一项目&#xff0c;由两大行业巨头——侨外出国和CanAm基金强强联手。众所周知&#xff0c;侨外出国是EB-5投资…

并发编程中常见的锁策略

本文介绍一些常见的锁策略。 锁策略是多线程编程中相对进阶的内容&#xff0c;它不仅仅局限于Java&#xff0c;任何和“锁”相关的话题&#xff0c;都可能会涉及到这些内容&#xff1b;即使是别的语言&#xff0c;只要涉及到“锁”&#xff0c;也都会涉及到锁策略。 锁策略的…

px4上传数据waiting for bootloader

输入make px4_fmu-v6c_default upload&#xff0c;出现waiting for bootloader 原因&#xff0c;可能是启动了QGC占用了端口&#xff0c;把QGC关掉&#xff0c;重新上电&#xff0c;就OK了。

C++ 继承与多态的基本用法

目录 1.继承 1.1访问等级 1.2函数遮蔽 2.多态 2.1虚函数 1.继承 有父类&#xff0c;有子类&#xff0c;这种层次关系就叫继承&#xff0c;也就说说子类能从父类哪里继承很多东西&#xff0c;继承这种概念或性质是面向对象程序设计的核心思想之一。 这种继承需要先定义一个父…

TS类型断言、函数重载踩过的坑

任意属性 interface Person {name: string;age?: number;[propName: string]: string;//报错 } let tom: Person {name: Tom,age: 25,gender: male }; 任意属性需要包含确定属性和可选属性的类型&#xff1a;[propName: string]: string|number; 类型断言 &#x1f449;在…

zabbix企业级监控(监控第二台linux服务器安装部署)接上篇单台监控文章操作

zabbix企业级监控监控linux主机 目录 【agent端配置】&#xff08;监控第二台linux服务器&#xff09; 1、源码安装zabbix&#xff08;解包、编译、配置、安装&#xff09; 2、改agent配置文件 3、启动服务 图形操作&#xff1a; 【agent端配置】&#xff08;监控第二台l…