【性能测试】JMeter性能测试(一)-入门篇

article/2025/9/29 2:06:39

Jmeter性能测试

      • 一、Jmeter介绍
      • 二、准备工作-安装
        • 2.1、依赖jdk,jdk安装
        • 2.2、JMeter安装
      • 三、JMeter中常用功能释义
        • 3.1、测试计划
        • 3.2、线程组
      • 四、如何使用JMeter
        • 4.1、切换中英文模式
        • 4.2、添加‘测试计划’
          • 4.2.1、在‘测试计划’中添加‘线程组’
          • 4.2.2、在‘线程组’中添加‘HTTP请求’
          • 4.2.3、在‘线程组’中添加‘HTTP信息头管理器’
          • 4.2.4、在‘线程组’中添加‘查看结果树’
          • 4.2.4、在‘线程组’中添加‘图形结果’
          • 4.2.5、在‘线程组’中添加‘聚合报告’
        • 4.3、执行
        • 示例
        • 4.4、定制
          • 4.4.1、配置“线程组”间串行
          • 4.4.2、添加"临界部分控制器"控制线程组同一时间只能执行一个
      • 二、常见报错解决办法

一、Jmeter介绍

官网:Jmeter

Apache JMeter是Apache组织开发的基于Java的开源压力测试工具。用于对软件做压力测试。

Apache JMeter的功能包括:

  • 能够加载和性能测试许多不同的应用程序/服务器/协议类型:
    1、网络-HTTP,HTTPS(Java,NodeJS,PHP,ASP.NET等)
    2、SOAP / REST Web服务
    3、FTP
    4、通过JDBC的数据库
    5、LDAP
    6、通过JMS的面向消息的中间件(MOM)邮件-SMTP(S),POP3(S)和IMAP(S)
    7、本机命令或Shell脚本
    8、TCP协议
    9、Java对象
  • 功能齐全的Test IDE,可进行快速的Test Plan 记录(来自浏览器或本机应用程序),构建和调试。
  • CLI模式(命令行模式(以前​​称为Non GUI)/无头模式)可从任何Java兼容的操作系统(Linux,Windows,Mac OSX等)加载测试
  • 完整且随时可以呈现的动态HTML报告
  • 通过从大多数流行的响应格式,HTML,JSON, XML或任何文本格式中提取数据的能力,轻松实现关联
  • 完全的可移植性和100%Java纯度。
  • 完整的多线程框架允许通过多个线程进行并发采样,并通过单独的线程组同时对不同的函数进行采样。
  • 缓存和脱机分析/重放测试结果。
  • 高度可扩展的核心:
    1、可插拔采样器允许无限的测试功能。
    2、可脚本化的采样器(与Groovy和BeanShell 等JSR223兼容的语言)
    3、可以通过可插入计时器选择几个负载统计信息。
    4、数据分析和可视化插件可实现出色的可扩展性和个性化。
    5、函数可用于为测试提供动态输入或提供数据处理。
    6、通过针对Maven,Gradle和Jenkins的第三方开源库轻松进行持续集成。

二、准备工作-安装

2.1、依赖jdk,jdk安装

JMeter与Java 8或更高版本兼容。

  • 下载

下载方式一:官网下载地址.

嫌注册下载麻烦的可以使用方式二获取
在这里插入图片描述
根据自己的使用环境,下载对应的jdk:
在这里插入图片描述
下载方式二

链接:https://pan.baidu.com/s/1cOVLkxLH5_cHrigg3AxoBQ
提取码:kgi9
在这里插入图片描述

  • 安装下载的JDK
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  • 配置系统环境变量
    在这里插入图片描述

新建变量名:JAVA_HOME ,变量值为 jdk 的安装路径。
在这里插入图片描述

新建变量名:CLASSPATH ,变量值: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
在这里插入图片描述
找到Path变量,双击编辑 Path变量
在值得最后增加;%JAVA_HOME%\bin
在这里插入图片描述

验证是否安装配置正确
打开cmd,输入java -version
在这里插入图片描述

2.2、JMeter安装

链接: 官网下载地址.
在这里插入图片描述
下载完成后解压zip包
在这里插入图片描述
进入apache-jmeter-5.2.1\bin,双击jmeter.bat
在这里插入图片描述
在这里插入图片描述

三、JMeter中常用功能释义

JMeter里面的元件很多,逻辑控制器,配置元件,定时器,Sampler,监听器等等,先给出一个实例,慢慢了解元件的使用方法。测试一个网站,我们至少需要:用户,发送请求,查看结果这三个过程。

3.1、测试计划

本节描述测试计划的不同部分。

最少的测试将包括测试计划,线程组和一个或多个采样器。

测试计划对象具有一个称为“ 功能测试 ” 的复选框。如果选择该选项,它将使JMeter记录每个样本从服务器返回的数据。如果您在测试侦听器中选择了文件,则此数据将被写入文件。如果要进行少量运行以确保正确配置JMeter并确保服务器返回预期结果,这将很有用。结果是文件将快速增长,JMeter的性能将受到影响。如果要进行压力测试,则应禁用此选项(默认情况下处于禁用状态)。

如果您没有将数据记录到文件中,则此选项没有区别。

您还可以使用侦听器上的“ 配置”按钮来确定要保存的字段。

3.2、线程组

线程组元素是任何测试计划的起点。所有控制器和采样器必须在线程组下。其他元素(例如,侦听器)可以直接放在测试计划下,在这种情况下,它们将应用于所有线程组。顾名思义,线程组元素控制JMeter将用于执行测试的线程数。线程组的控件使您可以:

设置线程数
设置加速时间
设置执行测试的次数
每个线程将完整地执行测试计划,并且完全独立于其他测试线程。多个线程用于模拟与服务器应用程序的并发连接。

加速期告诉JMeter将“加速”到所选线程的总数需要多长时间。如果使用了10个线程,并且启动周期为100秒,那么JMeter将花费100秒来启动和运行所有10个线程。每个线程将在上一个线程开始后10(100/10)秒开始。如果有30个线程,启动周期为120秒,则每个连续线程将延迟4秒。

升级需要足够长的时间,以避免在测试开始时工作量过大,还应足够短,以使最后一个线程在第一个线程完成之前开始运行(除非有人希望这样做)。

从“ Ramp-up =线程数”开始,然后根据需要向上或向下调整。

默认情况下,线程组配置为在其元素之间循环一次。

线程组还提供了一个调度程序。单击“线程组”面板底部的复选框以启用/禁用其他字段,您可以在其中输入测试持续时间,启动延迟,运行的开始和结束时间。您可以配置持续时间(秒)和启动延迟(秒)来控制每个线程组的持续时间以及启动后的秒数。当测试开始时,JMeter将在启动线程组的线程之前等待启动延迟(秒),然后运行配置的持续时间(秒)。请注意,这两个选项会覆盖“ 开始时间”和“ 结束时间”。

另外,您也可以使用其他两个字段Start time和End time(尽管不建议这样做,因为它不太灵活)。测试开始时,如有必要,JMeter将等待直到达到启动时间。在每个周期的末尾,JMeter会检查是否已达到结束时间,如果已结束,则运行将停止,否则,将允许测试继续进行直到达到迭代限制。

四、如何使用JMeter

4.1、切换中英文模式

在这里插入图片描述

4.2、添加‘测试计划’

具体操作:添加测试计划,并且可以自定义计划名称
在这里插入图片描述

4.2.1、在‘测试计划’中添加‘线程组’

线程组名自定义,可以根据业务来命名。
在这里插入图片描述
比如:这里我设置10个线程,一直循环发请求
在这里插入图片描述

4.2.2、在‘线程组’中添加‘HTTP请求’

在这里插入图片描述

一般会添下面的一些内容,路径填写请求ur中l除了ip+port的后面的部分,举例:

在这里插入图片描述

4.2.3、在‘线程组’中添加‘HTTP信息头管理器’

在这里插入图片描述

举例:
在这里插入图片描述

4.2.4、在‘线程组’中添加‘查看结果树’

发送请求的响应结果,会在这里显示

在这里插入图片描述

示例:
在这里插入图片描述

4.2.4、在‘线程组’中添加‘图形结果’

在这里插入图片描述

4.2.5、在‘线程组’中添加‘聚合报告’

在这里插入图片描述

在这里插入图片描述

4.3、执行

你还可以根据自己的需要添加别的功能进来。添加设置完后,执行
在这里插入图片描述

示例

在这里插入图片描述

4.4、定制

4.4.1、配置“线程组”间串行

举例:执行完“线程组1”内的所有请求才执行“线程组2”下面的所有请求
在这里插入图片描述

4.4.2、添加"临界部分控制器"控制线程组同一时间只能执行一个

临界部分控制器根据锁名来控制并发,同一个锁名之下,在同一时间点只能存在一个运行中,适用于控制并发的场景

和5.1.1的差别是:可能会出现“线程组1 :请求1.1“-----》“线程组2:请求2.1”----》“线程组2 :请求2.2“-----》“线程组1:请求1.2”这种顺序。
在这里插入图片描述

二、常见报错解决办法

如果安装的JDK版本过高在使用jemter时可能会出现下面的报错:


Uncaught Exception java.lang.IllegalAccessError: class com.github.weisj.darklaf.ui.filechooser.DarkFilePaneUIBridge$DetailsTableModel (in unnamed module @0xd83da2e) cannot access class sun.awt.shell.ShellFolder (in module java.desktop) because module java.desktop does not export sun.awt.shell to unnamed module @0xd83da2e in thread Thread[AWT-EventQueue-0,6,main]. See log file for details.
Uncaught Exception java.lang.NoClassDefFoundError: Could not initialize class org.apache.jmeter.gui.util.FileDialoger in thread Thread[AWT-EventQueue-0,6,main]. See log file for details.

解决办法:
apache-jmeter-5.4.3\bin\jmeter.bat文件,增加一段 --add-opens java.desktop/sun.awt.shell=ALL-UNNAMED,然后重新启动即可
在这里插入图片描述


http://chatgpt.dhexx.cn/article/CuPQYaKU.shtml

相关文章

JMeter性能测试流程及性能指标关注点

性能测试流程 平常我们做黑盒测试,都会有一套功能测试流程,做性能测试也不例外,性能也会有规范的流程。如下图所示就是我们常规的性能测试流程图。 .1.业务学习:通过查看文档,手工操作系统来了解系统功能。 .2.需求分…

Jmeter性能测试使用指南

一. Jmeter主要元件 1、测试计划:是使用 JMeter 进行测试的起点,它是其它 JMeter测试元件的容器 2、线程组:代表一定数量的用户,它可以用来模拟用户并发发送请求。实际的请求内容在Sampler中定义,它被线程组包含。 …

Jmeter性能测试指标

一、性能测试概念 性能:事务、物品的某些特性的评价值性能测试:通过测试工具模拟多种正常、峰值及异常负载条件来对系统的各项性能指标进行测试 二、性能测试指标 性能指标分为两个方面: 系统指标(与用户场景和需求相关指标&a…

Jmeter性能测试之事务控制器的使用

作用:可以用于测试执行嵌套测试元素所花费的总时间,即相当于用户进行一系列操作的测试,只有整个事务控制器定义的事务成功,才算成功。 结构如下: Generate Parent Sample:如果选中,则生成样本作…

Jmeter性能测试-插件

安装插件管理 方法1: 1、从 http://jmeter-plugins.org/downloads/all/下载插件管理包,如图 将下载的包放至 jmemter 解压根目录的 lib/ext 下即可 2、重启jmeter Installed Plugins(已安装的插件):即插件jar包中已…

Jmeter性能测试面试题个人见解

一、请说明你用Jmeter做性能测试的整体过程 不管用什么工具做性能测试,流程都 是一样的,仅是编写脚本的工具不同 主要分为五个阶段 1、性能需求调研 进行需求调研与分析,输出性能测试需求表和性能测试计划。需求的来源分为几种:…

Jmeter 性能测试入门 ——性能插件介绍

目录 一、前言 1、首先,JMeter提供了三个基本的线程组,分别为: 2、其他线程组可以通过集成插件的方式使用,包括: 二、集成插件下载安装 1、下载地址:jmeter-plugins.org 2、安装:下载后文件为plugins…

jmeter性能测试常用插件简介

jmeter性能测试常用插件简介 jmeter作为一个开源的接口性能测试工具,相对于商业性软件loadrunner来说,优点是更加灵活方便,操作简单。但相对来说,专业性和对性能参数的分析相对比较薄弱。但是通过第三方插件,就能将一些…

jmeter性能测试步骤

🏆作者简介:哪吒,CSDN2022博客之星Top1、CSDN2021博客之星Top2、多届新星计划导师✌、博客专家💪,专注Java硬核干货分享,立志做到Java赛道全网Top N。 🏆本文收录于,Java基础教程系列…

超详细!Jmeter性能测试(一)

*Jmeter 性能测试(一) 首先开发会给你一个接口文档、我们这边是做支付方面的,所以我们要求给下单支付接口做下压测。 由于我们这边接口都是有加密参数的,所以都是直接在JAVA工程包里直接跑的,因为这次是做压测&#x…

JMeter 性能测试实例

JMeter 性能测试实例 1. 实验目的 熟悉 Badboy JMeter 的自动化测试流程 2. 实验内容 2.1 使用 Badboy 录制脚本 2.2 使用 JMeter 进行性能测试 2.3 分析测试结果 3. 实验步骤 3.1 下载图 1 所示的文件并解压 图 1. 本实验需要的相关文件 3.2 双击运行 strawberry-pe…

jmeter性能测试步骤入门

目录 一、Jmeter简介 二、Jmeter实现性能测试 三、总结 一、Jmeter简介 1 概述 jmeter是一个软件,使负载测试或业绩为导向的业务(功能)测试不同的协议或技术。 它是 Apache 软件基金会的Stefano Mazzocchi JMeter 最初开发的。 它主要对 …

jmeter 性能测试结果分析

一、性能测试的概念&意义 1、概念 通过技术的手段模拟大量用户同时访问被测应用,观察、记录和分析系统的各项性能指标的过程。 2、目的 评估系统的性能瓶颈,预测系统的最大用户负载能力 3、意义 能够有效评估系统的性能指标,用于系统…

JMETER性能测试

jmeter 为性能测试提供了一下特色: jmeter 可以对测试静态资源(例如 js、html 等)以及动态资源(例如 php、jsp、ajax 等等)进行性能测试 jmeter 可以挖掘出系统最大能处理的并发用户数 jmeter 提供了一系列各种形式的…

超详细!Jmeter性能测试

前言 性能测试是一个全栈工程师/架构师必会的技能之一,只有学会性能测试,才能根据得到的测试报告进行分析,找到系统性能的瓶颈所在,而这也是优化架构设计中重要的依据。 测试流程: 需求分析→环境搭建→测试计划→脚…

(一)JMeter性能测试,完整入门篇:性能测试操作步骤

原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 1. Jmeter简介 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具&#xff0…

jmeter性能测试步骤实战教程

1. Jmeter是什么? 2. Jmeter安装 2.1 JDK安装 由于Jmeter是基于java开发,首先需要下载安装JDK (目前JMeter只支持到Java 8,尚不支持 Java 9) 1. 官网下载地址: http://www.oracle.com/technetwork/java/…

如何用jmeter工具进行性能测试

前言 今天我们来说说jmeter如何进行性能测试,我们都知道jmeter工具除了可以进行接口功能测试外,还可以进行性能测试。当项目趋于稳定,根据性能需求就可以着手准备性能测试了,今天就说一说jmeter如何进行性能测试,jmet…

【软件测试】Jmeter性能测试(性能测试,Jmeter使用与结果分析)

文章目录 前言一、性能测试1. 什么是性能测试?2. 性能测试的重要性3. 性能指标——QPS和TPS①QPS②TPS 二、压测工具Jmeter1. 什么是Jmeter?2. Jmeter主要元件3. 下载安装 三、一个简单的测试案例①新建一个线程组②新建一个HTTP请求③添加HTTP信息头&am…

全网最牛,JMeter性能测试步骤与结果分析(压力 / 负载测试)详全,精品太干了

目录:导读 一、前言二、负载、压力、可靠性(非常重要)三、压力测试实战四、负载测试实战五、资源监控1、Windows自带的资源监工具2、Jmeter里面的第三方监理插件3、Linux资源监控 一、前言 1、负载:模拟业务操作对服务器造成压力…