用Jmeter压力测试使用ruoyi框架开发的后端并发情况

若依框架实现一个用户最大会话数 1.首先在配置文件中配置指定的参数(application.yml) 如上图所示,在session中配置maxSession 。 2.然后在com\ruoyi\framework\config\ShiroConfig.java (1)获取配置文件中maxSession 和kickoutAfter的值。 // 同一个用户最大会话数 @Value("${shiro.session.maxSession}") private int maxSession; // 踢出之前登录的/之后登 阅读详情

概要

用ruoyi框架开发系统,由于时间紧,框架没有做任何调整,直接增加相关业务。使用Jmeter进行并发量测试。这里做一下记录,方便以后回来查看。

准备环节

测试前要进行以下准备:

  • 下载Jmeter,在官网下载即可。我测试时下载的是v5.6.3
  • 需要测试的账号。批量创建了1000个账号作为作为压力测试
    批量导入测试用户
  • 准备csv文件供测试调用,这里csv文件可以包含所有需要的参数。具体我这次包括了登录用户账号(username),密码(password),记录ID(recordId),试卷ID(paperId)
    csv文件,用notepad++打开是以,分隔,用wps打开自动省略,
  • 提前关闭框架验证码功能

Jmeter脚本编写流程

  1. 步骤1:创建测试计划与线程组

    • 打开JMeter。

    • 右键“测试计划” -> “添加” -> “线程(用户)” -> “线程组”。

        线程数(并发用户数):例如 100
        Ramp-Up时间(秒):例如 10(表示在10秒内启动100个用户)
        循环次数:例如 永远(配合调度器)或固定次数。
      

在这里插入图片描述

  1. 步骤2:添加测试数据
    右键“线程组” -> “添加” -> “配置元件” -> “CSV数据文件设置”。

      文件名:浏览选择你的test_data.csv文件。
      文件编码:UTF-8
      变量名称(逗号分隔):username,password,recordId,paperId
      其他默认
    
  2. 模拟登录操作

    • 右键“线程组” -> “添加” -> “逻辑控制器” -> “事务控制器”(命名为01-登录)。

    • 右键该“事务控制器” -> “添加” -> “取样器” -> “HTTP请求”(命名为POST-登录)。

    • 协议:http 或 https

        服务器名称或IP:你的服务器IP或域名
        端口号:端口号(默认80或443可省略)
        HTTP请求:POST
        路径:/login
        参数:
        username: ${username} (引用CSV中的变量)
        password: ${password}
      

在这里插入图片描述

  1. 右键“线程组” -> “添加” -> “逻辑控制器” -> “事务控制器”(命名为01-登录)。

    • 右键“HTTP请求” -> “添加” -> “后置处理器” -> “正则表达式提取器”。
    • 名称:提取Token
    • 应用于:主体
    • 要检查的响应字段:主体
    • 正则表达式:假设返回的JSON中有"token":“([^”]+)"。
    • 模板: 1 1 1
    • 匹配数字:1
    • 缺省值:NOT_FOUND

在这里插入图片描述

  1. POST登录下面增加一个Http信息头管理器

    • 名称:Content-Type
    • 值:application/json; charset=utf-8

在这里插入图片描述

  1. 模拟考试流程(另一个事务控制器)

    • 右键“线程组” -> “添加” -> “逻辑控制器” -> “事务控制器”(命名为02-考试与交卷)。

    • 添加HTTP信息头管理器(用于携带Token):

        右键“02-考试与交卷”事务控制器 -> “添加” -> “配置元件” -> “HTTP信息头管理器”。
        添加一个头:
        	名称: Authorization
        	值: Bearer ${token} 
      

在这里插入图片描述

  1. 开始考试

    • 在“02-开始”下添加一个“HTTP请求”(命名为GET-开始考试)。
    • 方法:GET
    • 路径:/exam/exam/${recordId} (引用CSV中的变量)

在这里插入图片描述

  1. 添加监听器并执行
    添加监听器(用于查看结果):

    • 右键“线程组” -> “添加” -> “监听器” -> “察看结果树”(调试用,正式压测时禁用)。

    • 右键“线程组” -> “添加” -> “监听器” -> “聚合报告”(看主要指标)。

    • 右键“线程组” -> “添加” -> “监听器” -> “用表格查看结果”(看每个样本的详情)。

  2. List item

    执行与监控:
    先点击“保存”按钮。
    使用“绿色三角形”开始执行测试。
    正式压测时,务必禁用“察看结果树”,因为它非常消耗内存。

流程参考如下

考试流程事务
登录事务
提供参数
传递Token
传递Token
传递Token
循环控制器
模拟作答多道题
HTTP请求: 加载试卷
固定定时器
思考时间
HTTP请求: POST 保存答案
吞吐量定时器
控制答题节奏
HTTP请求: POST 最终交卷
正则表达式提取器
从响应中提取Token/Session
HTTP请求: POST /login
JMeter测试计划
线程组: 模拟并发用户
CSV数据文件设置
配置登录账号等参数
察看结果树
聚合报告
用表格查看结果

小结

我本地的结果集
在这里插入图片描述

500的并发的情况下,瓶颈在登陆,后续业务完全没问题。

JMeter 压测工具,快速开始 文章目录JMeter快速开始1、下载2、解压3、启动4、使用4.1、Thread Group4.2、HTTP Request4.3、Aggregate Report4.3、启动运行结果 JMeter快速开始 今天准备实习下JMeter来进行压测。 以下是以redis实现分布式锁的代码来作为测试用例。 1、下载 到JMeter官网下载,本人下载的是apache-jmeter-5.1.1.zip 2... 阅读详情

相关推荐

RuoYi-App企业级移动开发平台实战指南

Spring Boot作为Java领域主流的微服务框架,通过自动配置和起步依赖等机制大幅提升了企业应用开发效率。在企业级移动开发场景中,基于Spring Boot的快速开发平台能实现前后端分离架构下的高效协作。RuoYi-App作为典型的移动端解决方案,集成了用户认证、权限控制等核心功能模块,采用开箱即用的设计理念显著降低开发成本。该框架支持混合开发模式,可同时输出Android和iOS应用,适用于需要快速构建管理后台移动端的项目场景。通过合理配置Node.js环境和优化打包流程,开发者可以基于RuoYi-

weixin_34067102的博客 406

以某一web系统为测试对象(若依RuoYi为例)-软件测试实验报告作业

要求:功能完整(完成产品需求 70%以上)、UI 优良 (每个页面均有字段约 束和合理的出错提示)、流程完整 (一一对应功能)流程合理 (处理逻辑非直线)选择2: springboot项目(推荐,bug比较多,分也多,要自己跑数据库和项目) 地址 localhost:9090。选择2: springboot项目(推荐,bug比较多,分也多,要自己跑数据库和项目) 地址 localhost:9090。(1) 按照要求完成产品规格说明书: (10分)(5) 按照要求完成自动化测试用例 (20分)

weixin_42665577的博客 1245

若依框架扩展:会员系统设计与多端登录实现

会员系统是现代商业应用的核心组件,其本质是基于传统用户体系的扩展架构。从技术实现来看,关键在于设计灵活的身份认证机制和高效的数据模型。采用Sa-Token等认证框架可以很好地支持多终端登录场景,结合Redis实现高性能会话管理。在若依(Ruoyi)这类开源后台框架基础上扩展会员功能时,需要特别注意数据模型分离和业务属性扩展。典型应用场景包括健身连锁、电商平台等需要会员等级、积分体系的商业系统。本文通过实战案例,展示了如何基于Spring Boot和MyBatis实现包含手机验证码登录、会员等级计算等核心功能

weixin_34221332的博客 310

高并发秒杀系统架构设计与实现(RuoYi-Cloud-SecKill)

本项目是基于若依RuoYi-Cloud的高并发秒杀微服务项目(RuoYi-Cloud-SecKill),后端采用Spring Boot、Spring Cloud & Alibaba、MyBatis,前端采用Vue+ElementUI,通过创建基于Redis、RabbitMQ、WebSocket、ElasticJob的技术方案,设计实现高并发秒杀系统架构。此处。

zj_helloWorld的专栏 4325

Spring Boot文件上传疑难排查:从Nginx代理到后端配置的完整解决方案

文件上传是Web应用开发中的基础功能,其原理基于HTTP协议的multipart/form-data编码格式,允许客户端在单个请求中发送二进制数据和表单字段。在技术实现上,Spring Boot通过Servlet容器的Multipart解析器处理上传请求,而Nginx等反向代理则负责请求的转发与负载均衡。这一机制的技术价值在于提供了统一、高效的数据传输方式,是用户提交图片、文档等非文本内容的核心入口。然而,在生产环境的复杂应用场景中,尤其是像Ruoyi-AI这类整合了AI能力的项目,文件上传常因配置不当引发

weixin_30383279的博客 109

nbcio-boot项目内存溢出问题分析和解决

nbcio-boot项目内存溢出问题分析

宁波阿成的博客 729

ruoyi框架解决单个账户并发登录,限制多个浏览器或同一浏览器登录同个一账号

ruoyi框架解决单个账户并发登录,限制多个浏览器或同一浏览器登录同个一账号

junbogao的博客 8095

线程池管理多线程上传

使用线程池管理多线程上传,包含了文件拆分,文件分片多线程上传,单文件上传。多线程执行任务等待管理。拒绝直接new Thread创建新线程导致的诸多问题

RuoYi-Vue-fast后端服务性能测试:JMeter压力测试实践

你是否曾遇到系统上线后用户量激增导致接口响应缓慢?是否想在用户反馈前主动发现性能瓶颈?本文将带你使用JMeter对RuoYi-Vue-fast后端服务进行压力测试,通过实战掌握性能测试全流程,让系统在高并发场景下依然稳定运行。 ## 测试环境准备 ### 后端服务部署 首先确保RuoYi-Vue-fast后端服务正常运行。从[GitHub_Trending/ru/RuoYi-Vue-fast]...

gitblog_00736的博客 413

STM32F103ZE精英板驱动ESP8266与DHT11构建物联网网关,实现乐联网温湿度数据实时监控

本文详细介绍了如何使用STM32F103ZE精英板驱动ESP8266与DHT11构建物联网网关,实现乐联网温湿度数据实时监控。从硬件选型、连接调试到乐联网平台配置和STM32程序开发,提供了完整的实现步骤和常见问题解决方案,适合物联网入门开发者参考。

weixin_30823001的博客 78

3D-IC测试挑战与Tessent解决方案解析

3D-IC技术通过硅通孔(TSV)实现芯片垂直堆叠,是延续摩尔定律的关键路径。该技术面临三大核心挑战:KGD标准严苛化要求测试覆盖率达99.5%以上,存储器测试需兼容LPDDR/HBM等多种协议,逻辑堆叠需解决TSV互连的电气特性和时序验证问题。Mentor Tessent平台采用混合测试架构,结合压缩扫描测试(ATPG)和内建自测试(BIST)技术,实现100x测试数据压缩比和99.97%的TSV缺陷检出率。这些创新方案在移动SoC和高性能计算芯片中已获验证,测试时间缩短73%,缺陷逃逸率降低77%。随着

weixin_30621711的博客 376

jmeter做接口压力测试_jmeter接口性能测试

jmeter 操作数据库   操作数据库基本有四个步骤:(1)导入mysql的jdbc的jar包 (2)创建数据库的连接配置,线程组里添加配置元件-JDBC Connection Configuration (3)线程组里添加jdbc request,写sql语句 (4)添加察看结果树,点击启动按钮,就能看到执行的SQL。第二种是混合场景,多个有关联的接口。最大的并发数:最大的并发数和最大的tps是不同的概率,一般不断增加并发数,达到一个值后,服务器出现请求超时,则可认为该值为最大的并发数。

NHB222222的博客 775

不只是CPU主频:深入解析英飞凌Aurix TC3xx各外设时钟树(CAN、以太网、Flash时序如何配置)

本文深入解析英飞凌Aurix TC3xx系列微控制器的外设时钟树配置,涵盖CAN、以太网和Flash时序的优化方法。通过详细分析时钟系统架构、关键外设配置及多外设协同设计策略,帮助工程师实现高性能汽车电子控制单元(ECU)开发。特别关注系统时钟的灵活配置与EMC优化技巧,提升系统实时性和可靠性。

weixin_29189373的博客 400

RuoYi-Cloud-Plus实操测评:性能对比

微服务架构在企业级应用开发中已成为主流选择,但性能问题一直是开发者关注的焦点。RuoYi-Cloud-Plus作为新一代微服务权限管理系统,集成了SpringCloudAlibaba、Dubbo3.0、Sa-Token等主流技术栈,其性能表现如何?本文将深入实测对比,为您揭晓答案。 通过本文您将获得: - 完整的性能测试环境搭建指南 - 多维度性能对比数据(响应时间、吞吐量、资源消耗) - 关键...

gitblog_00350的博客 1103

Li‘s 核磁共振影像数据处理-4-使用3D Slicer从DTI计算参数图(FA、ADC等)

从DTI计算参数图 通过3D Slicer软件计算 主要步骤 导入DICOM影像 3D Slicer似乎只能支持DICOM格式和NRRD格式的DTI处理,而无法支持NIFTI+磁场梯度信息文件的方式。(这里不确定,如有错误请指正。) 模块选择: 需要选择或设置的内容包括:选择DicomToNrrd,设置Output DWI Volume file,设置Input Dicom Data Directory。设置好后点击“Apply”。 制作mask。 实质就是去脑壳。 模块选择: 需要设置的内

weixin_38594676的博客 3920

2025年数学建模国赛高教社杯A题、B题、C题、D题、E题详细思路和代码 模型||插值与拟合

核心思想:构造一个精确通过所有已知离散数据点(xi, yi)的函数y = f(x),并以此函数来估算或预测未知点的值。基本假设:我们认为已知的数据点是100%精确、无误差的(或者误差可忽略不计),比如理论计算值、高精度仪器测量值等。我们的目标是“还原”或“重建”出点与点之间的真实函数关系。关键特征精确性:曲线或曲面必须穿过每一个样本点。局部性:插值结果严重依赖于局部数据点的分布和数值。用途:用于“补全”数据、填充缺失值、进行函数近似等。常见方法多项式插值:拉格朗日插值、牛顿插值。

2201_76125261的博客 802

RuoYi-Cloud微服务框架下的Caffeine多级缓存优化实践

缓存技术作为提升系统性能的核心手段,通过内存高速读写特性显著降低数据库访问压力。其工作原理基于数据局部性原理,采用分层存储策略实现访问速度与存储成本的平衡。在分布式系统中,多级缓存架构通过整合本地缓存与分布式缓存,既能保障数据一致性,又能实现毫秒级响应。以Caffeine为代表的现代缓存库,采用Window-TinyLFU等先进算法,在命中率和内存控制方面表现优异。本文以RuoYi-Cloud框架为例,详细解析如何通过Caffeine与Redis构建三级缓存体系,实现高并发场景下500QPS到15000QP

weixin_34161064的博客 521

Rockchip eMMC寿命监控:SMART信息读取与预防性维护

擦写计数坏块数量温度使用时间。

小灰灰的博客 762

若依框架自定义功能测试实战:JMeter全链路性能压测指南

在软件开发中,性能测试是确保系统稳定性和可靠性的关键环节,尤其对于基于开源框架进行二次开发的项目。其核心原理在于通过模拟真实用户并发请求,量化评估系统在高负载下的响应时间、吞吐量及资源消耗等指标。这项技术的价值在于能提前暴露性能瓶颈,避免线上故障,提升用户体验。在Java企业级应用开发领域,若依(RuoYi)作为流行的后台管理系统脚手架,其自定义功能模块(如复杂查询、审批流、报表导出)常因缺乏原生测试而成为性能风险点。应用JMeter这一主流压测工具,可以从单接口功能验证切入,通过参数化、断言、后置处理器等

weixin_42522669的博客 264

Claude Code 处理长任务 + Cursor 专注交互:双栈协作的 3 种分工场景与响应提速 35% 实测

揭示 Claude Code 与 Cursor 在 AI 编程中的本质分工:Claude Code 作为离线式架构师处理跨文件、带约束的长链路重构(如单体拆微服务),Cursor 作为现场交互工程师专注秒级局部编辑;提出按任务切片动态切换的三种工程化协作场景,并给出结构化上下文构建、约束型 Prom

weixin_28728443的博客 123

三维空间刚体运动4-3:四元数线性插值方法:Squad

摘要:四元数插值三个方法Slerp、Squad和Spring既复杂又很重要,为了详细阐述,故每个方法独立成一篇博文讲解,没有插值的四元数是没有灵魂的,插值的重要性不言而喻。Slerp是经典的两点间一阶连续可导插值方法,Squad方法在Slerp的基础上实现多点间的一阶连续可导,而Spring则可以实现多点间的二阶连续可导,更适合复杂的曲线,此系列博文也是国内首篇介绍Spring的中文资料。

shao918516的博客 9217

jmeter性能测试步骤_性能测试的流程及常用工具介绍

一、性能测试性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。1.1 类别性能测试包括负载测试、压力测试、基准测试等。1.1.1 负载测试通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。1.1.2 压力测试也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,...

weixin_39703561的博客 1132

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

软件测试实战项目大全:16个梯度练手项目助你拿下高薪offer

软件测试岗位的竞争已从单纯的功能验证转向技术深度与工程实践的综合比拼。理解测试用例设计、自动化框架搭建、接口校验等核心原理,是构建高质量保障体系的基础。接口测试与自动化测试作为现代质量保障的支柱,不仅提升了回归效率,更能在持续集成环境中快速反馈风险。无论是电商、后台管理系统还是移动应用,掌握从需求分析到测试报告的全链路实战技能,能有效拉近求职者与真实工作场景的距离。本文系统梳理了入门、进阶、综合三个梯度的16个实战练手项目,覆盖功能测试、接口自动化、性能测试与持续集成,并附赠可落地的pytest+reque

weixin_33700809的博客 400

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

基于SpringBoot与若依框架的图书管理系统实战指南

在Java企业级应用开发中,SpringBoot凭借其约定大于配置的理念,极大地简化了项目的初始搭建与部署流程,成为构建微服务与单体应用的主流技术框架。其核心原理在于通过自动配置和起步依赖,快速集成各类中间件,显著提升了开发效率。结合国产开源脚手架若依(RuoYi),开发者能够进一步聚焦于核心业务逻辑的实现,而非重复搭建用户、权限等基础模块。这种组合方案的技术价值在于,它为快速构建功能完整、权限清晰的后台管理系统提供了标准化路径,尤其适用于需要快速交付的中小型内部系统。在具体的应用场景上,例如图书管理、档案

weixin_34015336的博客 321

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

若依框架功能测试全流程实践指南

企业级开发框架的功能测试是保障系统稳定性的关键环节,尤其对于若依(RuoYi)这类集成权限管理、工作流引擎的快速开发平台。测试过程中需要重点关注框架特有的模块化设计,包括基于JWT的权限控制、代码生成器输出验证以及Flowable/Camunda工作流集成。采用Docker-compose部署测试环境能有效解决JDK版本兼容性问题,配合Redis缓存和MinIO对象存储构建完整的基础设施。在自动化测试层面,结合TestNG+RestAssured的API测试与Selenium/Cypress的UI测试形成覆

weixin_28839629的博客 270

若依系统自动化与性能测试实战:从框架选型到CI/CD集成

自动化测试与性能测试是保障软件质量与稳定性的核心工程实践。自动化测试通过脚本模拟用户操作,旨在替代重复性人工测试,提升回归效率并保障功能正确性;性能测试则通过模拟不同负载场景,评估系统的响应时间、吞吐量和资源消耗,提前发现潜在瓶颈。其技术价值在于构建快速反馈的质量防线,降低线上故障风险,并为系统容量规划提供数据支撑。在Web应用、微服务等广泛场景中,结合持续集成/持续部署(CI/CD)流程,可实现测试的左移与常态化。本文以流行的若依(RuoYi)后台管理系统为具体案例,深入探讨了如何运用Playwright

weixin_33721344的博客 379
上一篇: windows关闭桌面“了解有关此图片的信息”
菱形站位
博客等级 码龄10年 13粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值