(Java企业 / 公司项目)JMeter接口压测使用(保姆式手把手教会)

本文主要是介绍(Java企业 / 公司项目)JMeter接口压测使用(保姆式手把手教会),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一. JMeter简介认识(重点是下面的使用方法)

JMeter是一个开源的Java应用程序,由Apache软件基金会开发和维护,可用于性能测试、压力测试、接口测试等。

1. 原理

JMeter的基本原理是模拟多用户并发访问应用程序,通过发送HTTP请求或其他协议请求,并测量响应时间、吞吐量、并发用户数、错误率和性能指标等,以评估应用程序的性能和稳定性。

2. JMeter特性

1)支持多种协议

支持HTTP、HTTPS、FTP、TCP、JDBC和JMS等协议,可以模拟多种网络环境和应用程序场景。

2)支持多种测试类型

支持负载测试、压力测试、功能测试、基准测试和分布式测试等多种测试类型,适用于不同的性能测试需求。

3)支持多种测试场景

支持多种测试场景,包括并发用户数、持续时间、循环次数和延迟时间等,可以模拟真实的使用场景。

4)支持多种测试结果收集和显示方式

支持多种测试结果收集和显示方式,包括聚合报告、图形结果、树形结果和控制台输出等,便于性能分析和优化。

5)支持插件和扩展

JMeter支持插件和扩展,可以扩展其功能和性能,以满足特定的性能测试需求。

2. JMeter的组件

1)测试计划(Test Plan)

测试计划是JMeter中的最高层次,包括多个线程组、配置元件和监听器等。测试计划用于设置全局的测试参数,包括测试名称、工作目录、线程数和持续时间等。

2)线程组(Thread Group)

线程组是JMeter中用于模拟并发用户访问应用程序组件,包括一组线程(用户)和一组控制器(逻辑控制)。线程组用于设置线程数、循环次数、持续时间和延迟等参数,控制器用于设置线程(用户)的请求和响应的逻辑控制。

3)HTTP请求(HTTP Request)

HTTP请求是JMeter中模拟客户端向服务器发送HTTP请求的组件。HTTP请求包括请求的URL、协议、方法、参数、头部和Body等,可以模拟GET、POST、PUT、DELETE等HTTP请求方法,以测试应用程序的响应速度和性能。在HTTP请求中,可以设置请求的参数、响应的断言和监听器等,以收集和显示测试结果。

4)控制器(Controller)

用于控制测试计划和线程组的执行流程,包括简单控制器、随机控制器、循环控制器和条件控制器等。

5)监听器(Listener)

监听器是JMeter中收集和显示测试结果的组件,包括聚合报告监听器、图形结果监听器、树形结果监听器和控制台输出监听器等。监听器用于监控测试结果,以评估应用程序的性能和稳定性,并生成报告。

6)断言(Assertion)

断言是JMeter中验证HTTP响应的状态码、内容和格式的组件,包括响应码断言、响应内容断言和响应时间断言等。断言用于验证HTTP响应的正确性和完整性,以确保应用程序的功能和性能。

7)配置元件(Config Element)

用于配置测试计划和线程组的属性和参数,包括HTTP请求默认值、CSV数据文件配置和用户定义的变量等。

8)启动器(Timer)

用于在发送HTTP请求前或线程开始前等待一段时间,以模拟用户的行为。启动器用于设置线程组的执行前等待时间,以模拟真实的使用场景。

9)前置处理器(Pre-Processor)

用于在发送HTTP请求前进行处理,包括用户参数、CSV数据集和HTTP Cookie等。

10) 后置处理器(Post-Processor)

用于在接收HTTP响应后进行处理,包括正则表达式提取器和XPath提取器等。

重点: 

很多企业当中这个东西也挺需要的,一般都是使用postman来测试接口,但是我们使用的是JMeter

首先看下面的官网Apache JMeter - Apache JMeter™

 下载地址以及下载方式如下图

二.  JMeter的启动方式如下

liunx启动的方式是.sh结尾的方式,但是我的是window实现效果所以按照下面的方式来启动

 windows启动方法

修改配置默认为英文的我们改成中文

在bin文件夹下面有一个jmeter. properties文件在里面找到language将英文改成中文zh_cn

 将默认的en改成中文的zh_CN这个表示的就是中文

 双击启动后等一会就会出现客户端的页面,可以自由设置自己的背景图以及主题

三 . JMeter使用操作

1)工具栏:包含了常用的功能按钮,例如开始、停止、保存和导入等。例如,我们可以使用工具栏上的按钮开始和停止测试,以便进行测试和观察测试结果。

2)树形结构:用于组织测试计划的各个组件,包括测试计划、线程组、控制器、监听器和配置元件等。

3)属性窗口/面板:用于显示和编辑选定组件的属性,例如线程数、延迟和协议等。

4. JMeter的配置文件

JMeter的配置文件用于存储各种配置选项和全局变量,包括以下几个主要文件:

1)jmeter.properties:包含了JMeter的全局配置选项,例如默认编码、连接超时和代理服务器等。

2)user.properties:包含了用户自定义的全局变量和配置选项,例如用户定义的变量和自定义的插件等。

3)saveservice.properties:JMeter的结果保存配置文件,包含JMeter测试结果的保存格式、编码、压缩、分隔符等配置参数。

 接下来就是点击Ctrl + S也就是保存操作,这个时候就会弹出一个框里面就是要你选择保存的位置,可以新建和选择文件夹这里我就在安装包的位置新建一个文件夹JmeterProduct工作区,后面保存的都可以放在这个文件夹里

 Jmeter的文件其实是一个xml。

右击新建 - 》 添加- 》 线程用户- 》 线程组

线程组中可以模拟高并发场景下一个接口的测试情况

 右击线程组-》添加- 》 取样器- 》 HTTP请求

 四. JMeter项目如何操作

前面设置完毕之后配置这个接口的信息

 增加请求头,按照一个接口的的信息来配置,因为这是一个登录接口我们需要配置一下名称和值这样就接口就可以获取到json格式的数据,以及post的请求方式,等点击保存之后保存在前面创建的文件夹中直接save就好了。

 接下来就是配置信息主体的参数了

注意:消息题数据里面必须是标准的json,key必须带引号,最后一个key后面不能有逗号

 当我们启动这个测试接口之后查看idea后台会发现登录成功了,并且生成了token,启动方式就是点击这个会员登录,然后点击上面的绿色三角形就好了

 注意: 这样每次都要查看idea后台那还不如直接使用idea自带的接口测试呢

所以我们再来配置一下如何在jmeter里面显示后台的返回结果

右击添加-》监听器 -》查看结果树, 然后再执行这个接口查看返回结果

 点击再执行一次查看这个查看结果树

注意:  Jmeter的消息题也就是传格式的时候必须按照标准的json格式来传参数

我发起10个线程来循环发1个请求 来执行这个接口来模拟看看什么效果,在线程组中配置一下就好了很简单重要的是效果

效果就是上面的情况返回了10个请求的响应数据来测试。

以上就是JMeter的使用。

这篇关于(Java企业 / 公司项目)JMeter接口压测使用(保姆式手把手教会)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/610466

相关文章

springboot健康检查监控全过程

《springboot健康检查监控全过程》文章介绍了SpringBoot如何使用Actuator和Micrometer进行健康检查和监控,通过配置和自定义健康指示器,开发者可以实时监控应用组件的状态,... 目录1. 引言重要性2. 配置Spring Boot ActuatorSpring Boot Act

使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

《使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)》在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析... 目录1. 背景介绍1.1 jsON简介1.2 实际案例2. 准备工作2.1 环境搭建2.1.1 添加

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

java如何分布式锁实现和选型

《java如何分布式锁实现和选型》文章介绍了分布式锁的重要性以及在分布式系统中常见的问题和需求,它详细阐述了如何使用分布式锁来确保数据的一致性和系统的高可用性,文章还提供了基于数据库、Redis和Zo... 目录引言:分布式锁的重要性与分布式系统中的常见问题和需求分布式锁的重要性分布式系统中常见的问题和需求

SpringBoot基于MyBatis-Plus实现Lambda Query查询的示例代码

《SpringBoot基于MyBatis-Plus实现LambdaQuery查询的示例代码》MyBatis-Plus是MyBatis的增强工具,简化了数据库操作,并提高了开发效率,它提供了多种查询方... 目录引言基础环境配置依赖配置(Maven)application.yml 配置表结构设计demo_st

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

使用Python绘制蛇年春节祝福艺术图

《使用Python绘制蛇年春节祝福艺术图》:本文主要介绍如何使用Python的Matplotlib库绘制一幅富有创意的“蛇年有福”艺术图,这幅图结合了数字,蛇形,花朵等装饰,需要的可以参考下... 目录1. 绘图的基本概念2. 准备工作3. 实现代码解析3.1 设置绘图画布3.2 绘制数字“2025”3.3

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2