news 2026/4/19 3:23:30

性能测试工具JMeter使用入门

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
性能测试工具JMeter使用入门

一、测试计划:

  • 用来描述一个压力/性能测试脚本和场景设计的基本运行单元, 使用JMeter进行测试的所有内容都是基于一个测试计划

  • 用户定义变量

  • 测试计划的基础配置:

    • 不勾选:各个线程组并行、随机执行

    • 勾选:线程组按照前后顺序来执行

    • 独立运行每个线程组

    • 主线程组运行完成之后运行tearDown线程组

    • 函数测试模式,比如保存响应数据或者样本数据,需要注意的是选择该功能非常耗磁盘
      空间

    • 添加文件或者jar包,常用于外部功能调用

二、线程组:

  • 线程组元件是任何一个测试计划的开始点,在一个测试计划中的所有元件都必须在某个线程组下,所有的任务都是基于线程组。

  • 第一部分:在请求取样器执行错误时需要执行的下一步动作

    • Continue:继续执行接下来的操作

    • Start Next Loop:忽略错误,执行下一个循环

    • Stop Thread:退出该线程(不再进行此线程的任何操作)

    • Stop Test:等待当前执行的采样器结束后,结束整个测试

    • Stop Test Now:直接停止整个测试

  • 第二部分:线程属性

    • Number of Thread (users):线程数,模拟的用户数量

    • Ramp-up Period(in seconds):达到指定线程数所需要的时间。举例:线程数设置为50,此处设置为5,那么每秒启动的线程数 => 线程数50/5 = 10

    • Loop Count: 循环次数

    • Same user on each iteration:每次迭代都用相同的用户, 勾选该选项则不同次迭代之间是串行执行,不勾选则为并行执行。

    • Delay Thread creation until needed:当线程需要执行的时候,才会被创建。如果不选择这个选项,那么,在计划开始的时候,所有需要的线程就都被创建好了

  • Specify Thread lifetime:定义线程调度时间

  • Duration (seconds): 持续时间(秒), 在此选项填入N,说明这个计划,从某个开始时间算起,执行N秒后结束。(会忽略 结束时间 的选项)

  • Startup delay (seconds): 启动延迟(秒),在此选项填入N,手动点击开始执行计划,然后延迟N秒后,计划才真正开始执行。

三、控制器:

  • 种类丰富

  • 为请求执行提供不同的逻辑控制

  • 常用的逻辑控制器

    • 事务控制器 Transaction Controller

    • 条件控制器 If Controller

    • 循环控制器 Loop Controller

    • 随机控制器 Random Controller

四、采样器 / 取样器:

  • 采样器(取样器): 模拟用户操作,向服务器发出请求的组件;

  • 采样器作用:向服务器发送请求,记录响应信息与响应时间;

  • 常用采样器:

    • HTTP Request Sampler

    • Debug Sampler

    • BeanShell Sampler

五、JMeter 场景逻辑控制技术:

  • 场景逻辑控制技术:

    • 利用JMeter 逻辑控制器

    • 实现测试业务流程中的逻辑变化

    • 模拟实际业务场景

六、监听器:

  • 定义:用来动态的监控JMeter执行测试的过程,实时查看测试结果;

  • 常用监听器:

    • 查看结果树

    • 聚合报告

    • 后端监听器

七、定时器:

  • 定义:定时器是用来控制采样器发出请求开始时间的组件

  • 固定定时器:发出请求前等待的时间

  • 高斯随机定时器:两个请求等待的时间在给的时间范围内随机,等待时间不固定

  • 吞吐量定时器:控制对应的吞吐量,如1秒钟1个流量

  • 并发定时器:控制同步发起请求

直播

1、 JMeter介绍

2、 JMeter安装

3、 JMeter启动提示

# 不要使用GUI模式进行负载测试 GUI模式只是压测脚本的创建和调试 Dont use GUI mode for load testing !, only for Test creation and Test debugging. # 如果想要进行负载测试 使用CLI模式 即非GUI模式 -- 静默压测会详细介绍 For load testing, use CLI Mode (was NON GUI): jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder] # 可以增加Java的堆来满足压测需求 & increase Java Heap to meet your test requirements: # 修改JMeter文件的Java堆变量 Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file

4、压测脚本四要素

5、 用户定义的变量

6、 线程组件

  • 默认值是指匹配不到时,给一个默认值

7、 jmeter中文显示问题的解决​​​​​​

* 解决乱码问题 -> 在<jmeter_home>/bin/jmeter.properties配置文件中设置 sampleresult.default.encoding=utf-8 * 解决Unicode 显示成可读中文的问题 -> 将 <ijmeter_proj>/unicode2utf8/unicode2utf8.js 内容复制粘贴到 BeanShell PostProcessor 中

最后:下方这份完整的软件测试 视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 3:17:59

三羊献瑞 DFS 枚举

三羊献瑞 题目描述 观察下面的加法算式&#xff1a; 祥 瑞 生 辉 三 羊 献 瑞 -------------------三 羊 生 瑞 气其中&#xff0c;相同的汉字代表相同的数字&#xff0c;不同的汉字代表不同的数字。 请你输出“三羊献瑞”所代表的 4 位数字&#xff08;答案唯一&#xff…

作者头像 李华
网站建设 2026/4/19 3:16:27

嵌入式系统调试接口安全防护与最佳实践

1. 调试接口安全威胁全景分析调试接口作为嵌入式系统开发的"后门"&#xff0c;其安全风险往往被开发者严重低估。我曾参与过多个物联网设备的安全审计项目&#xff0c;发现超过60%的硬件攻击都是通过未受保护的调试接口发起的。以常见的Cortex-M系列微控制器为例&…

作者头像 李华
网站建设 2026/4/19 3:13:08

Python3 字符串

Python3 字符串 引言 在编程语言中,字符串是一种常见的数据类型,用于存储和处理文本信息。Python3 作为一种流行的编程语言,提供了强大的字符串处理功能。本文将详细介绍 Python3 字符串的相关知识,包括字符串的定义、操作、格式化以及正则表达式等。 字符串的定义 在 …

作者头像 李华
网站建设 2026/4/19 3:03:29

PCILeech终极指南:DMA攻击技术入门到精通

PCILeech终极指南&#xff1a;DMA攻击技术入门到精通 【免费下载链接】pcileech Direct Memory Access (DMA) Attack Software 项目地址: https://gitcode.com/gh_mirrors/pc/pcileech PCILeech是一款革命性的直接内存访问&#xff08;DMA&#xff09;攻击软件&#xff…

作者头像 李华
网站建设 2026/4/19 3:02:31

CSS代码复用性太低怎么办_通过BEM结构提升组件模块化

BEM 能让 CSS 更易复用&#xff0c;因其通过「块__元素--状态」命名强制绑定样式与结构&#xff0c;明确依赖关系&#xff0c;避免全局冲突&#xff1b;补 BEM 应渐进式改造高频模块&#xff0c;严守命名规范&#xff1b;它不与 CSS-in-JS 或 Tailwind 冲突&#xff0c;但需统一…

作者头像 李华