Jmeter 性能测试实战教程

news/2024/9/13 23:49:25/ 标签: jmeter

一、性能测试流程

进行性能测试前,我们首先需要了解一下性能测试大致分为哪些流程,这样才能保证测试过程有序开展:

1、性能需求分析

了解哪些业务需要(一般都是用户量大的核心业务,比如登录查询等功能)以及哪些业务不需要性能测试,需要执行性能测试的业务要考虑哪些性能指标,不同指标的一个理想值在什么范围?(硬件指标一般 CPU 占用率 <= 70%;非硬件指标一般要求 50% 的线程响应时间小于 1 秒 90% 的线程响应时间小于 1 秒 / 事务成功率 100% 等等)

2、性能方案设计

如何执行性能测试?一般有 7 大场景:

单业务基准测试、单业务压力测试、单业务负载测试、综合业务基准测试、综合业务压力测试、综合业务负载测试、综合业务稳定性测试等等;

注意:单业务:针对单个功能进行测试;基准:根据客户要求,如 30 分钟内可以 2 万人登录;综合业务:不同成员测试不同功能,同时开展!

测试场景:

①、1 秒内启动所有线程(20 个)压测 5 分钟,观察性能指标;

针对这个场景的测试流程大致与这篇文章相同,除了设置 20 个线程之外;还需要勾选调度器,将持续时间设置为 300 秒即 5 分钟;最后按照添加查看结果树同样的方式添加聚合报告用于查看一些非硬件指标

注意:一般来说,某个功能的性能测试需要传入不同的参数(如本例中的 area 字段可能是上海、北京、杭州、深圳等等,这种情况下就不能以一个固定的参数形式发 HTTP 请求,可以通过数据库构造数据后导入到 txt 文件,或者直接在 txt 文件中输入一定量的不同地名的数据,然后在当前取样器右键,点击添加,点击配置元件,点击 CSV Data Set Config,如下图所示)

CSV .. 元件的配置如下图所示:

其中 txt 文件内容如下图所示,逗号为英文逗号!!!

然后取样器参数界面修改为如下格式:

同样保存测试计划后执行,通过查看结果树查看结果,聚会报告查看非硬件指标!!

②、2 秒内启动所有线程(40 个)压测 10 分钟,观察性能指标;

不同测试场景的相关步骤设计都可以参考 ① 进行,只需要做细微改动即可!!!

3、业务建模和脚本优化

站在真实业务的角度出发,根据压测的目标调整测试脚本,如上所述

4、执行测试并收集性能数据

5、结果分析并撰写性能测试报告

第 2 步的场景测试完成之后,点击聚合报告,将对应的数据填入到表格作为性能测试报告即可!!

 这是我整理的《2024最新jmeter接口测试和jmeter接口自动化测试全套教程附带性能测试》,以及配套的接口文档/项目实战【网盘资源】,需要的朋友可以下方视频的置顶评论获取。肯定会给你带来帮助和方向。

b站最新最全的jmeter接口测试和jmeter接口自动化测试,jmeter性能测试保姆级全套教程!

 


http://www.ppmy.cn/news/1516376.html

相关文章

【AI学习】LLaMA模型的微调成本有几何?

在前面文章《LLaMA 系列模型的进化&#xff08;二&#xff09;》中提到了Stanford Alpaca模型。 Stanford Alpaca 基于LLaMA (7B) 进行微调&#xff0c;通过使用 Self-Instruct 方法借助大语言模型进行自动化的指令生成&#xff0c;Stanford Alpaca 生成了 52K 条指令遵循样例数…

leetcode滑动窗口问题

想成功先发疯&#xff0c;不顾一切向前冲。 第一种 定长滑动窗口 . - 力扣&#xff08;LeetCode&#xff09;1456.定长子串中的元音的最大数目. - 力扣&#xff08;LeetCode&#xff09; No.1 定长滑窗套路 我总结成三步&#xff1a;入-更新-出。 1. 入&#xff1a;下标为…

如何禁止编辑PDF文件?推荐两种方法!

在日常工作中&#xff0c;我们经常会遇到需要分享重要的PDF文件的情况&#xff0c;但又希望文件内容不被随意更改。为此&#xff0c;设置PDF文件的修改限制是一个非常有效的措施。今天分享两种常见的禁止修改PDF的方法&#xff0c;一起来看看如何设置。 方法一&#xff1a;使用…

JavaWeb学习——事务管理、AOP学习

目录 一、事务管理 1、事务回顾 2、事务进阶 a、rollbackFor属性 b、propagation属性 二、AOP学习 1、基础了解 2、AOP进阶 一、事务管理 1、事务回顾 事务的概念&#xff1a;事务必须服从ACID原则。ACID指的是原子性&#xff08;atomicity&#xff09;、一致性&#xf…

UE5 多个类选择界面生成。解决方案思路。

中控器CC 》用户界面控制器UI_CC 》用户界面UI_Inst 生成 CC使用接口&#xff0c;通知UI_CC开始生成UI_Inst。 蓝图函数库编写判断是否存在和创建UI的蓝图。&#xff08;此处略&#xff09; UI_CC生成时&#xff0c;userwidget使用接口&#xff0c;注册UI_CC的用户控件的控件…

远程在电脑上玩PS5《黑神话:悟空》?借助极空间实现PS5远程串流攻略

远程在电脑上玩PS5《黑神话&#xff1a;悟空》&#xff1f;借助极空间实现PS5远程串流攻略 哈喽小伙伴们好&#xff0c;我是Stark-C~ 这两天的《黑神话&#xff1a;悟空》可谓是火爆出圈呀&#xff01;虽说我也是第一时间体验到了这款可以说是划时代意义的首款国产3A大作&…

mac os 外接设备使用win习惯快捷键

目录 1. 简单映射版本&#xff08;常用快捷键&#xff09;2. 如果想追求完全的win匹配3. 关于外接鼠标滚动设置 1. 简单映射版本&#xff08;常用快捷键&#xff09; 就把ctrl和Command键互换一下就行 点击设置-键盘-键盘快捷键 然后在修饰键中&#xff0c;将control和comm…

MyBatis配置允许批量插入或更新数据

MyBatis配置allowMultiQueriestrue允许使用foreach标签批量插入或更新数据 执行update更新操作&#xff1a; <!-- 批量更新 --><update id"updateBatchByKey" parameterType"java.util.List"><foreach collection"list" item&q…

Telnet详解与应用——从原理到实战模拟

1. 引言 在现代网络管理中&#xff0c;远程访问和控制设备的能力至关重要。Telnet是一种经典的远程访问协议&#xff0c;尽管在安全性方面逐渐被SSH等更现代化的协议取代&#xff0c;但其在早期网络管理中的广泛使用使其成为网络工程师的基本技能之一。本文将深入探讨Telnet的…

探索Python内置模块与第三方模块

1. Python模块简介 在Python中&#xff0c;模块就是一个包含Python定义和语句的文件。模块可以定义函数、类和变量&#xff0c;还可以包含可运行的代码。使用模块的目的是将大型程序分解成更小的、可管理的、可重用的组件。 1.1 Python模块的类型 内置模块&#xff1a;这些模…

TCP 粘包问题

TCP是一个面向字节流的传输层协议。“流” 意味着 TCP 所传输的数据是没有边界的。这不同于 UDP 协议提供的是面向消息的传输服务&#xff0c;其传输的数据是有边界的。TCP 的发送方无法保证对方每次收到的都是一个完整的数据包。于是就有了粘包、拆包问题的出现。粘包、拆包问…

Laravel实现图片上传接口以及图片压缩优化测试

1. 创建 Laravel 项目 确保你已经安装了 Laravel 和相关依赖。创建一个新的 Laravel 项目&#xff1a; composer create-project --prefer-dist laravel/laravel image-upload cd image-upload2. 设置数据库 编辑 .env 文件以连接到你的数据库&#xff0c;然后运行迁移&…

深入探索fs.WriteStream:Node.js文件写入流的全面解析

在Node.js中&#xff0c;fs模块不仅提供了读取文件的API&#xff0c;还包含了写入文件的工具&#xff0c;其中fs.WriteStream就是一个非常重要的类&#xff0c;用于以流的形式将数据写入文件。本文将全面讲解fs.WriteStream的基本概念、使用方法、事件处理以及高级应用&#xf…

在Linux系统下配置IP地址的方法

在Linux系统下配置IP地址可以使用以下几种方法&#xff1a; 1.使用ifconfig命令&#xff1a; 打开终端&#xff0c;并以root权限登录。 输入ifconfig命令查看当前网络接口的配置信息。 使用ifconfig <interface> <IP_address> netmask <subnet_mask>命令…

【Java日志系列】Logback日志框架

目录 前言 一、Logback简介 二、Logback组件 三、快速入门 四、配置文件的使用 1. 配置文件中的标签 1.1 logger标签 1.2 root标签 1.3 appender标签 1.4 filter标签 1.5 encoder标签 1.6 property标签 2. 常见的Appender 2.1 ConsoleAppender 2.2 FileAppender…

C# SignalR 实时通信:构建动态交互的秘诀

标题&#xff1a;C# SignalR 实时通信&#xff1a;构建动态交互的秘诀 摘要 SignalR 是 ASP.NET Core 的一个库&#xff0c;它简化了在应用程序中添加实时通信的过程。无论是聊天应用、实时游戏还是协作工具&#xff0c;SignalR 都能提供高效且易于实现的解决方案。本文将深入…

Windows—UDP编程

Client骨架&#xff1a; #include <iostream> #include <WinSock2.h> #pragma comment(lib,"ws2_32.lib")int main() {//启动Winsock DLLWORD wVersionRequested MAKEWORD(2, 2);WSADATA lpWSAData;WSAStartup(wVersionRequested, &lpWSAData);//…

dbeaver数据库工具配置连接openGauss5.0

在DBeaver数据库工具中配置连接openGauss 5.0&#xff0c;可以通过以下步骤进行&#xff1a; 一、准备工作 下载openGauss JDBC驱动&#xff1a; 访问openGauss的官方网站&#xff08;如https://opengauss.org/zh/&#xff09;&#xff0c;下载适用于您操作系统的JDBC驱动。对…

浪潮服务器NVME 硬盘通过 Intel VROC 做RAID

INTEL VROC Configuration solution 1.VMD configuration in BIOS Processor > IIO Configuration> Intel(R) VDM Technology> Intel(R) VMD for volume Management Device on Socket 0 “CPU 0”, Intel VMD for volume management device for “PStack0” or “PSta…

C# 匿名函数 delegate(参数...){ }

什么是匿名函数 顾名思义&#xff0c;就是没有名字的函数 匿名函数的使用主要是配合委托和事件进行使用 脱离委托和事件 是不会使用匿名函数的 基本语法 delegate (参数列表) { 函数逻辑 …