当前位置: 首页 > news >正文

Jmeter使用教程

目录

  • 一,简介
  • 二,Jmeter安装
    • 1,下载
    • 2,安装
  • 三,创建测试
    • 1,创建线程组
    • 2,创建HTTP请求默认值
    • 3,创建HTTP请求
    • 4,添加HTTP请求头
    • 5,添加断言
    • 6,添加查看结果树
    • 7,添加汇总报告
  • 四,运行测试
  • 五,查看汇总报告

一,简介

今天给项目做一下压测,安装Jmeter的时候有几个步骤忘了,在这里记录一下。
百度百科对Jmeter的介绍是:Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试

二,Jmeter安装

1,下载

  • 官网地址: Jmeter
  • 下载zip软件包
    在这里插入图片描述

2,安装

下载下来的zip包先进行解压,安装之前先进行一下配置,解决中文乱码的问题。

  • 找到sampleresult.default.encoding,默认是ISO-8859-1,我们将其该为utf-8
    在这里插入图片描述
  • 修改默认的语言,默认是英语,这里修改为中文,随后保存在这里插入图片描述
  • 双击jmeter.bat,会弹出来cmd窗口和GUI窗口,

三,创建测试

1,创建线程组

在"Test Plan"上右键【添加】–>【线程(用户)】–>线程组
在这里插入图片描述
设置线程属性:

  • 线程数:代表创建多少个线程,比如要测试Sentinel的流控下的线程数限流,就可以设置线程数来测试。
  • Ramp-Up:表示间隔多少秒,如果是1,代表20个线程在1秒内发送,如果是0表示这20个线程同时发送。
  • 循环次数:这里只循环一次
    在这里插入图片描述

2,创建HTTP请求默认值

在刚刚创建的线程组上右键–>【配置元件】–>【HTTP请求默认值】
在这里插入图片描述
设置一些公用的参数,通信协议,服务器的ip,服务端口号等
在这里插入图片描述
HTTP请求默认值是配置一些公有的信息,下面创建的HTTP请求如果没有配置这些公有信息,就会使用【HTTP请求默认值】里的,如果配置了就使用自己的

3,创建HTTP请求

在这里插入图片描述
这里可以输入参数信息,比如下面是json格式的
在这里插入图片描述

4,添加HTTP请求头

在创建的线程组上右键–>【添加】–>【配置元件】–>【HTTP信息头管理器】
在这里插入图片描述
这里上传的json格式的数据,所有请求头可设置为:
Content-Type application/json
在这里插入图片描述

5,添加断言

在之前创建的线程组上右键–>【添加】–>【断言】–>【响应断言】
在这里插入图片描述
断言就是判断返回的信息是不是和自己预期的一致,可以根据自己的需要配置,可以判断响应代码,也可以判断响应文本
在这里插入图片描述

6,添加查看结果树

在线程组上右键–>【添加】–>【监听器】–>【查看结果树】
在这里插入图片描述
添加完结果树以后就可以直接运行了,但是Jmeter建议我们不要使用GUI进行压力测试,GUI仅用于压力测试的创建和调试,执行压力测试的时候不要通过GUI,通过命令行来执行。
在这里插入图片描述

7,添加汇总报告

在创建的线程组上右键–>【添加】–>【监听器】–>【汇总报告】
在这里插入图片描述
至此,测试用例就创建好了,可以在GUI上点一下看看有没有报错,然后点击保存,就查看结果树的jmx文件保存到对应的文件,运行测试我们通过命令行。

四,运行测试

测试用例创建好后,GUI就可以关闭了,之后我们打开cmd命令行,进入到jmeter的bin目录下,然后运行下面的指令

jmeter -n -t 查看结果树.jmx -l D:\JAVA\apache-jmeter-5.5\test_result\testplan\result.txt -e -o D:\JAVA\apache-jmeter-5.5\test_result\testplan\webreport

说明:

  • 查看结果树.jmx:是之前在GUI创建的文件,因为保存在了jmeter的bin目录下,当前命令行也是在bin目录中打开,所以直接调用即可。
  • result.txt:是压力测试运行后的结果文件,这里用了绝对路径,相对路径会以当前bin为父级,不太好设置。
  • webreport:是汇总报告,压力测试运行完成后会生成该报告。

注意: 命令行中出现的目录,比如test_resut, testplan, 先提前创建好,不然会报如下错误:

An error occurred: Cannot write to 'D:\JAVA\apache-jmeter-5.5\bin\test_result\testplan\webreport' 
as folder does not exist and parent folder is not writable

五,查看汇总报告

命令运行成功后,会生成汇总报告,位置就是在命令后指定的。
在这里插入图片描述
双击用浏览器打开index.html,可以查看汇总报告。
在这里插入图片描述

相关文章:

Jmeter使用教程

目录一,简介二,Jmeter安装1,下载2,安装三,创建测试1,创建线程组2,创建HTTP请求默认值3,创建HTTP请求4,添加HTTP请求头5,添加断言6,添加查看结果树…...

论文笔记|固定效应的解释和使用

DeHaan E. Using and interpreting fixed effects models[J]. Available at SSRN 3699777, 2021. 虽然固定效应在金融经济学研究中无处不在,但许多研究人员对作用的了解有限。这篇论文解释了固定效应如何消除遗漏变量偏差并影响标准误差,并讨论了使用固…...

数据集市与数据仓库的区别

数据仓库是企业级的,能为整个企业各个部门的运作提供决策支持;而数据集市则是部门级的,一般只能为某个局部范围内的管理人员服务,因此也称之为部门级数据仓库。 1、两种数据集市结构 数据集市按数据的来源分为以下两种 &#x…...

Golang学习Day3

😋 大家好,我是YAy_17,是一枚爱好网安的小白。 本人水平有限,欢迎各位师傅指点,欢迎关注 😁,一起学习 💗 ,一起进步 ⭐ 。 ⭐ 此后如竟没有炬火,我便是唯一的…...

Python并发编程-事件驱动模型

一、事件驱动模型介绍 1、传统的编程模式 例如:线性模式大致流程 开始--->代码块A--->代码块B--->代码块C--->代码块D--->......---&…...

构建系统发育树简述

1. 要点 系统发育树代表了关于一组生物之间的进化关系的假设。可以使用物种或其他群体的形态学(体型)、生化、行为或分子特征来构建系统发育树。在构建树时,我们根据共享的派生特征(不同于该组祖先的特征)将物种组织成…...

这款 Python 调试神器推荐收藏

大家好,对于每个程序开发者来说,调试几乎是必备技能。 代码写到一半卡住了,不知道这个函数执行完的返回结果是怎样的?调试一下看看 代码运行到一半报错了,什么情况?怎么跟预期的不一样?调试一…...

金三银四吃透这份微服务笔记,面试保准涨10K+

很多人对于微服务技术也都有着一些疑虑,比如: 微服务这技术虽然面试的时候总有人提,但作为一个开发,是不是和我关系不大?那不都是架构师的事吗?微服务不都是大厂在玩吗?我们这个业务体量用得着…...

构建matter over Thread的演示系统-efr32

文章目录1. 简介2. 构建测试系统2.1设置 Matter Hub(Raspberry Pi)2.2 烧录Open Thread RCP固件2.3 烧录待测试的matter设备3. 配网和测试:3.1 使用mattertool建立Thread网络3.2 使用mattertool配置设备入网3.3 使用mattertool控制matter设备3.4 查看节点的Node ID等…...

【一天一门编程语言】Matlab 语言程序设计极简教程

Matlab 语言程序设计极简教程 用 markdown 格式输出答案。 不少于3000字。细分到2级目录。 目录 Matlab 语言程序设计极简教程 简介Matlab 工作空间Matlab 基本数据类型Matlab 语句和表达式Matlab 函数和程序Matlab 图形界面程序设计Matlab 应用实例 简介 Matlab是一种编…...

看似平平无奇的00后,居然一跃上岸字节,表示真的卷不过......

又到了一年一度的求职旺季金!三!银!四!在找工作的时候都必须要经历面试这个环节。在这里我想分享一下自己上岸字节的面试经验,过程还挺曲折的,但是还好成功上岸了。大家可以参考一下! 0821测评 …...

BZOJ2142 礼物

题目描述 一年一度的圣诞节快要来到了。每年的圣诞节小E都会收到许多礼物,当然他也会送出许多礼物。不同的人物在小E 心目中的重要性不同,在小E心中分量越重的人,收到的礼物会越多。小E从商店中购买了n件礼物,打算送给m个人 &…...

MySQL高级第一讲

目录 一、MySQL高级01 1.1 索引 1.1.1 索引概述 1.1.2 索引特点 1.1.3 索引结构 1.1.4 BTREE结构(B树) 1.1.5 BTREE结构(B树) 1.1.6 索引分类 1.1.7 索引语法 1.1.8 索引设计原则 1.2 视图 1.2.1 视图概述 1.2.2 创建或修改视图 1.3 存储过程和函数 1.3.1 存储过…...

前端面试常用内容——基础积累

1.清除浮动的方式有哪些? 高度塌陷:当所有的子元素浮动的时候,且父元素没有设置高度,这时候父元素就会产生高度塌陷。 清除浮动的方式: 1.1 给父元素单独定义高度 优点: 快速简单,代码少 缺…...

跟着《代码随想录》刷题(三)——哈希表

3.1 哈希表理论基础 哈希表理论基础 3.2 有效的字母异位词 242.有效的字母异位词 C bool isAnagram(char * s, char * t){int array[26] {0};int i 0;while (s[i]) {// 并不需要记住字符的ASCII码,只需要求出一个相对数值就可以了array[s[i] - a];i;}i 0;whi…...

HTML - 扫盲

文章目录1. 前言2. HTML2.1 下载 vscode3 HTML 常见标签3.1 注释标签3.2 标题标签3.3 段落标签3.4 换行标签3.5 格式化标签1. 加粗2. 倾斜3. 下划线3.6 图片标签3.7 超链接标签3.8 表格标签3.9 列表标签4. 表单标签4.1 from 标签4.2 input 标签4.3 select 标签4.4 textarea标签…...

【系统分析师之路】2022上案例分析历年真题

【系统分析师之路】2022上案例分析历年真题 【系统分析师之路】2022上案例分析历年真题【系统分析师之路】2022上案例分析历年真题2022上案例分析历年真题第一题(25分)2022上案例分析历年真题第二题(25分)2022上案例分析历年真题第…...

Python编程规范

Python编程规范 当今Python编程社区有许多关于编程规范的约定和惯例。以下是一些常见的Python编程规范: 1.使用有意义的命名 使用有意义的命名可以使代码更加清晰、易读、易维护。变量、函数、类和模块的命名应该能够明确传达其用途,而不是使用无意义…...

【Java】Spring Boot项目的创建和使用

文章目录SpringBoot的创建和使用1. 什么是Spring Boot?为什么要学Spring Boot?2. Spring Boot项目的优点3. Spring Boot 项目的创建3.1 使用idea创建3.2 接下来创建Spring Boot项目4. 项目目录介绍和运行4.1 运行项目4.2 输出内容5. 总结SpringBoot的创建…...

Malware Dev 00 - Rust vs C++ 初探

写在最前 如果你是信息安全爱好者,如果你想考一些证书来提升自己的能力,那么欢迎大家来我的 Discord 频道 Northern Bay。邀请链接在这里: https://discord.gg/9XvvuFq9Wb我会提供备考过程中尽可能多的帮助,并分享学习和实践过程…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...

R语言速释制剂QBD解决方案之三

本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...

Appium下载安装配置保姆教程(图文详解)

目录 一、Appium软件介绍 1.特点 2.工作原理 3.应用场景 二、环境准备 安装 Node.js 安装 Appium 安装 JDK 安装 Android SDK 安装Python及依赖包 三、安装教程 1.Node.js安装 1.1.下载Node 1.2.安装程序 1.3.配置npm仓储和缓存 1.4. 配置环境 1.5.测试Node.j…...