【JMeter】性能测试知识和工具

article/2025/7/29 14:29:08

目录

何为系统性能

何为性能测试

性能测试分类

性能测试指标

性能测试流程

性能测试工具:JMeter(主测web应用)

jmeter文件目录

启动方式

基本元件:元件内有很多组件

jmeter参数化

jmeter关联

自动录制脚本

直连数据库


何为系统性能

时间:系统处理用户请求的响应时间

资源:系统运行时消耗的资源

何为性能测试

定义

使用自动化工具,模拟不同场景对软件各项性能指标进程测试和评估的过程

目的

  • 评估当前系统的能力
  • 找到性能瓶颈,优化性能
  • 评估软件是否满足未来需求

性能测试分类

基准测试

作用:设定标准线,当系统的软硬件发生变化时就进行比对

用途:多用户并发,综合场景,优化前后性能变化

负载测试

作用:在满足各项性能指标下系统同时能到到的最大用户数量

用途:主要测高负载下系统资源消耗

稳定性测试

作用:一定数量的用户负载下系统能稳定运行的时间

压力测试

作用:在强负载的情况下,在系统处于峰值情况下是否有功能隐患,以及是否具有良好的容错能力和可恢复能力

场景: 极限负载下的破坏性压力测试 ;高负载下的长时间稳定性测试

并发测试

作用:短时间处理多个请求,测试系统并发处理能力

场景:主要测并发时资源的争抢问题

性能测试指标

响应时间

定义:发送请求开始到接受响应为止,不包括网页的渲染等

并发用户数

定义:同一时间发送的请求的用户数

吞吐量

定义:单位时间内客户端的请求数量

指标:QPS:每秒的请求数量;TPS:每秒的事务请求数量

点击率

定义:在页面点击后的请求数

错误率

定义:在高负载下的失败业务概率

资源利用率

定义:各个资源的使用情况

指标:

  • CPU使用率:不高于75%-85%
  • 内存(大小):<80%
  • 磁盘(速率):<90%
  • 网络(速率):<80%

性能测试流程

性能测试需求分析

  • 明确被测系统的业务功能和技术架构
  • 明确测试内容:高频使用的业务功能,逻辑复杂度高的业务,数据量大的业务
  • 明确测试类型
  • 明确测试指标

性能测试计划及方案

  • 测什么:项目背景,测试目的,测试范围
  • 谁来测:进度与分工。交付清单
  • 怎么测:测试策略

性能测试用例设计

性能测试执行

建立测试环境,编写测试脚本, 性能测试监控,执行测试脚本

性能分析和调优

性能测试报告总结

测试工作的经过回顾,缺陷分析和调优,风险评估,性能测试结果,测试工作总结与改进

性能测试工具:JMeter(主测web应用)

jmeter文件目录

bin目录

作用:存放可执行文件和配置文件

docs目录

  • 是JMerer的api文档,用于开发扩展组件
  • API文档路径:apache-jmeter-5.6.3\docs\api\index.html

printable_doce目录

  • 用户帮助手册
  • 用户手册路径:apache-jmeter-5.6.3\printable_docs\usermanual\index.html

lib目录

作用:存放jmeter依赖的jar包和用户扩展所依赖的jar包

启动方式

找到jmeter的安装文件,在此目录下进入输入cmd,打开命令提示符,输入jmeter进入

基本元件:元件内有很多组件

元件

配置元件:初始化测试数据

前置处理器:对请求的操作

定时器:

  • 同步定时器:累计一定的请求量后一起发

  • 常数吞吐量定时器

  • 固定定时器:必须添加在需要等待的HTTP请求的子节点下

取样器:

  • HTTP请求

后置处理器:

  • 对响应的操作

断言:

  • 响应断言

  • JSON断言

  • 持续时间断言:指响应时间

监听器:

  • 查看结果树:查看请求信息和响应信息
  • 聚合报告:查看性能指标

逻辑控制器:

  • IF控制器

  • 循环控制器:控制器是可控制部分元件的执行次数和方式 ;线程组是控制全部元件的执行次数
  • ForEach控制器

线程组:

  • 定义:控制用于执行测试的一组用户
  • 属性:

  • 分类:
    • Setup线程组:预测试操作,所有脚本之前执行

    • 普通线程组:执行测试用例,可以有1个或者多个(并行/串行—在测试计划下设置)

    • Teardown线程组:测试后操作,所有脚本之后执行

元件的加载顺序

  • 有几个取样器,整个线程组就要加载几次
  • 每个取样器加载的顺序是父级元件-同级元件-子级元件
  • 样例:

jmeter参数化

定义全局变量

  • 前置处理器->用户定义的变量

用户参数

  • 前置处理器->用户变量        

文件方式参数化

  • 配置元件->CSV Data Set Config

函数

  • count函数:线程组的用户设为n个,循环可获不同的参数值

jmeter关联

存在依赖关系,一个请求的入参是另一个请求的出参

方法:在前一个请求的后置处理器提取参数,在后一个请求里以变量的形式使用

  • 正则表达式提取器

  • Xpath提取器

  • JSON提取器

  • 跨线程的关联

自动录制脚本

原理:在主机向服务端发送请求时经jmeter复刻一份

组件:测试计划(右键)->非测试元件->HTTP脚本记录器

步骤:

  • 1.配置脚本记录器的参数

  • 2.开启windows操作系统的浏览器代理

  • 3.启动脚本记录器

直连数据库

步骤:

添加MySQL驱动jar包

方式一:在测试计划面板点击“浏览…“按钮,将你的JDBC驱动添加进来—本脚本可用

方式二:将MySQL驱动jar包放入到lib/ext目录下,重启JMeter—所有脚本可用

配置数据库连接信息

添加方式:测试计划 --> 线程组--> (右键添加) 配置元件 --> JDBC Connection Configuration

添加JDBC请求

添加方式:取样器->JDBC Request


http://www.hkcw.cn/article/SRWhWGoTHE.shtml

相关文章

[Linux] nginx源码编译安装

初次学习&#xff0c;如有错误欢迎指正 目录 环境包部署 创建程序用户 软件包压缩 配置 编译 安装 建立快捷启动 启动nginx&#xff1f; 防火墙管理 查看规则 清空规则 关闭服务 开启服务 查看状态 开机自启 开机禁用 查看开机启动状态 nginx&#xff0c;启…

Spring AI Image Model、TTS,RAG

文章目录 Spring AI Alibaba聊天模型图像模型Image Model API接口及相关类实现生成图像 语音模型Text-to-Speech API概述实现文本转语音 实现RAG向量化RAGRAG工作流程概述实现基本 RAG 流程 Spring AI Alibaba Spring AI Alibaba实现了与阿里云通义模型的完整适配&#xff0c;…

多地机关食堂端午假期向社会开放 特色套餐迎客来

端午假期期间,全国多地政府机关食堂面向社会公众开放。5月31日中午,荣昌区政府机关食堂如约向游客开放,首日第一餐吸引了超过3000名游客前来体验。荣昌区特别推出了61元的“六一”家庭套餐,包含荣昌卤鹅、猪油泡粑、黄凉粉等特色菜品,还新增了粽子和儿童喜欢的薯条、鸡腿、…

韩国大选“5选1”投票将启 三强格局形成

6月3日,韩国将迎来新一届总统选举。最初有7名候选人登记参选,但截至6月2日,已有两名候选人宣布退出,形成了“5选1”的局面。目前李在明、金文洙和李俊锡基本形成三强格局。4名韩国前总统也各自进行着“路演”,通过各种方式表达对各自阵营候选人的支持。尹锡悦5月31日表态支…

美联邦调查局称科罗拉多州发生恐袭 燃烧瓶袭击游行人群

美国联邦调查局(FBI)局长卡什帕特尔在社交媒体上表示,6月1日科罗拉多州博尔德市发生了一起有针对性的恐怖袭击事件。FBI正在对此进行全面调查。FBI特工和当地执法人员已到达案发现场,并将在获得更多信息后分享最新情况。同日下午,科罗拉多州博尔德市的一个购物中心发生了袭…

第二轮谈判 乌公布代表团14人名单 防长继续带队

俄罗斯代表团已抵达土耳其伊斯坦布尔,准备参加即将举行的俄乌谈判。俄谈判代表团团长梅金斯基在抵达后表示,关于乌克兰谈判的所有评论将在6月2日公布,并会在当天详细说明俄罗斯在乌克兰问题上的立场。对于乌克兰对俄罗斯境内目标可能发起的攻击及其影响,俄方代表团成员、俄…

MQTT入门实战宝典:从零起步掌握物联网核心通信协议

MQTT入门实战宝典&#xff1a;从零起步掌握物联网核心通信协议 前言 物联网时代&#xff0c;万物互联已成为现实&#xff0c;而MQTT协议作为这个时代的"数据总线"&#xff0c;正默默支撑着从智能家居到工业物联的各类应用场景。本文将带你揭开MQTT的神秘面纱&#…

腾讯位置商业授权行政区划开发指南

概述 本服务提供中国标准行政区划数据查询功能&#xff0c;支持&#xff1a; 1 . 全国省、市、区/县、乡镇/街道 四级行政区划数据&#xff1b; 2 . 支持三级区划&#xff08;省/市 - 区/县&#xff09;轮廓数据&#xff1b; 3 . 支持区划查询、省市区列表、查询子级区划等功能…

GIS数据类型综合解析

GIS数据类型综合解析 目录 GIS数据类型综合解析1. 总体介绍2. GIS数据类型分类与对比2.1 主要数据类型对比表 3. 详细解析与扩展内容3.1 矢量数据&#xff08;Vector Data&#xff09;3.2 栅格数据&#xff08;Raster Data&#xff09;3.3 属性数据&#xff08;Attribute Data&…

Spring框架学习day5--AOP概念以及示例实现

AOP(面向切面编程) 1.概述 AOP为AspectOrientedProgramming 的缩写&#xff0c;意为&#xff1a;面向切面编程&#xff0c;通过 预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。 AOP是OOP的延续&#xff0c;是软件开发中的一个热点&#xff0c;是java开发中的…

Python实现HPSO-TVAC优化算法优化支持向量机SVC分类模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在当今数据驱动的时代&#xff0c;支持向量机&#xff08;SVM&#xff09;作为一种经典的机器学习算法&#xff0c;…

警方回应10岁男孩儿童节前走失 仍在全力搜寻中

6月1日,山东省滕州市姜屯镇黄坡村一名10岁的小男孩赵某超走失,孩子家属通过网络社交媒体求助。事后家属查看家门口的监控发现,孩子是5月31日下午5时左右走失的。当时孩子消失在家门口的监控中后几分钟返回了一次,孩子的外公王先生在屋后的黄瓜地里插杆子,邻居还给了孩子一…

[SAP] 矩阵复制(Matrix Copy)

SAP中的复制粘贴功能被称为矩阵复制&#xff0c;通过点击对话框或屏幕&#xff0c;并执行下述命令&#xff0c;使用矩阵复制就可以复制多行文本 ① 按下Ctrl-Y&#xff0c;从左上到右下拖拉鼠标来选择文本 ② 文本高亮显示后&#xff0c;按下Ctrl-C ③ 移到新的位置插入文本…

2024年数维杯国际大学生数学建模挑战赛B题空间变量协同估计方法研究解题全过程论文及程序

2024年数维杯国际大学生数学建模挑战赛 B题 空间变量协同估计方法研究 原题再现&#xff1a; 在数理统计学中&#xff0c;简单采样通常假设来自相同总体的采样点彼此独立。与数理统计相反&#xff0c;空间统计假设空间变量的采样点是相依的&#xff0c;并在其值中表现出某些趋…

SPA-RL:通过Stepwise Progress Attribution训练LLM智能体

SPA-RL&#xff1a;通过Stepwise Progress Attribution训练LLM智能体 在大语言模型&#xff08;LLM&#xff09;驱动智能体发展的浪潮中&#xff0c;强化学习&#xff08;RL&#xff09;面临着延迟奖励这一关键挑战。本文提出的SPA-RL框架&#xff0c;通过创新的分步进度归因机…

基于 Zynq 平台的 EtherCAT 主站的软硬件协同设计

摘要: 针对工业自动化对控制能力和强实时性的需求&#xff0c;提出了一种基于 FPGA 的改进型 EtherCAT 硬件主站方案 。 该方案利用 Zynq&#xff0d;7000 平台&#xff0c;在 PL 端实现 FPGA 协议栈&#xff0c;以保证核心功能的高效执 行 。 基于 AXI4 总线设计…

【IC】BSIM-CMG:用于高级电路设计的标准FinFET紧凑型模型

摘要 这项工作提出了新的紧凑型模型&#xff0c;这些模型捕捉了工业FinFET中呈现的高级物理效应。所提出的模型被引入到行业标准紧凑型模型BSIM-CMG中。核心模型被更新为新的统一FinFET模型&#xff0c;该模型计算具有复杂鳍片横截面的晶体管的电荷和电流。此外&#xff0c;来…

BFD工作原理(双向转发检测)

BFD的工作原理 BFD 会在两台网络设备之间建立会话&#xff0c;并通过周期性地交换 BFD 控制报文来检测路径的连通性。如果在检测时间内没有收到对方的报文&#xff0c;则视为链路故障&#xff0c;是依赖于路由协议来发现邻居的 故障检测 故障检测时间 协同接收间隔 * 检测倍数…

【JNI】JNI环境搭建

1 前言 JNI (Java Native Interface) 是 JDK 提供的一种机制&#xff0c;用于实现 Java 代码与其他语言&#xff08;主要是 C 和 C&#xff09;编写的本地代码之间的交互。 JNI 接口详见 JDK 安装目录中的 include/jni.h 文件&#xff0c;Android NDK 对 JDK 的 JNI 进行了扩展…

利用IEEE 802.15.4z-IR UWB系统进行手势检测

本文介绍了一种符合 IEEE 802.15.4z 标准的脉冲无线电超宽带 (IR-UWB) 手势检测雷达系统。该系统可检测车辆乘客座椅上的人员是否执行了 12 个预定义手势中的某一个。这些预定义手势包括各种手部动作&#xff0c;例如左右滑动或顺时针旋转手掌。为了进行手势检测&#xff0c;我…