littlebot
Published on 2025-04-11 / 1 Visits
0

【源码】基于Spring Boot框架的性能测试系统

项目简介

本项目基于renren-fast Java开发平台,内核依托Jmeter - Api和Jmeter脚本实现线上性能压测。它是在zyanycall/stressTestPlatform开源项目基础上进行大量改造而成的完整性能测试解决方案,支持分布式测试、报告生成与数据库操作,适用于大规模系统性能测试与分析。

项目的主要特性和功能

特性

  1. 代码结构友好且注释完善,利于阅读与二次开发。
  2. 前后端分离,通过token进行数据交互。
  3. 具备灵活的权限控制,可精确到页面或按钮。
  4. 页面交互采用Vue2.x,提升开发效率。
  5. 拥有完善的代码生成机制,可在线生成多种代码,减少开发工作量。
  6. 引入quartz定时任务,能动态管理任务。
  7. 引入API模板,方便APP接口开发。
  8. 引入Hibernate Validator校验框架,实现后端校验。
  9. 引入云存储服务,支持七牛云、阿里云、腾讯云等。
  10. 引入swagger文档支持,便于编写API接口文档。
  11. 引入路由机制,刷新页面后停留在当前页。
  12. 引入最新版本Jmeter - Api,支持分布式压测、测试报告生成及在线查看下载。
  13. 引入Echarts,支持在线观测性能压测结果。

功能

  1. 系统配置管理:对系统配置信息(如性能测试参数、报告生成配置等)进行增删改查。
  2. 分布式节点管理:管理分布式测试环境节点,包括添加、删除、状态更新和重启等操作。
  3. 测试报告管理:提供测试报告的查询、保存、更新、删除和生成操作,报告支持HTML、JSON等格式,可提取关键性能指标。
  4. 线程组配置管理:管理测试脚本中的线程组配置信息,包括添加、查询、更新和删除操作。
  5. 异步处理:采用异步处理生成测试报告,提高系统并发性能。
  6. SSH连接:通过SSH协议连接分布式节点进行管理和控制。
  7. MD5校验:对上传文件进行MD5校验,确保文件完整性与安全性。
  8. 日志记录:在关键操作中记录日志,便于问题排查和性能分析。

安装使用步骤

本地部署

  1. 使用git下载源码。
  2. 创建数据库renren_fast,编码设为UTF - 8。
  3. 执行doc/db.sql文件初始化数据。
  4. 修改application - dev.yml,更新MySQL账号和密码(或在application.yml配置h2,调用application - h2.yml配置连接h2数据库)。
  5. 修改MySQL中sys_config表的Jmeter专属配置项,更新为本地地址。
  6. 在Eclipse、IDEA中运行RenrenApplication.java启动项目。
  7. 项目访问路径:http://localhost:8080/。
  8. 账号密码:admin/admin。
  9. Swagger路径:http://localhost:8080/swagger/index.html。

jar部署

  1. 修改application.yml,指定执行环境(如线下环境pro)。
  2. 修改application - pro.yml,更新线下环境的MySQL账号和密码。
  3. 使用maven命令打包jar包:mvn clean package -f pom.xml。
  4. 通过java -jar renren - fast.jar调用target目录下的jar包,也可将其通过Dockerfile build到Docker镜像中。
  5. 项目访问路径:http://线下环境ip:8080/。
  6. 账号密码:admin/admin。

tomcat部署

  1. 修改application.yml,指定执行环境(如线下环境pro)。
  2. 修改application - pro.yml,更新线下环境的MySQL账号和密码。
  3. 使用maven命令打包war包:mvn clean package -f pom - war.xml。
  4. 将target目录下的war包保存到tomcat的webapps目录下。
  5. 通过tomcat的bin目录下的startup命令启动tomcat。
  6. 访问tomcat路径:http://线下环境ip:8080。
  7. 账号密码:admin/admin。

Docker部署

  1. 部署方案参考:https://gitee.com/smooth00/stressTestSystemDocker。
  2. Docker镜像见:https://registry.hub.docker.com/u/smooth00。

配置参数

性能测试配置在数据库保存(系统管理->参数管理),相关配置如下: - Jmeter主节点路径,默认测试报告生成使用 jmeterHome: D:\software\apache - jmeter - 5.4.1。 - 用例保存路径 casePath: D:\E\stressTestCases。 - Jmeter节点机需在/etc/bashrc中配置JAVA_HOME并source /etc/bashrc生效。 - 配置Jmeter脚本启动,可额外开启Jmeter进程运行测试用例脚本及分布式程序,可取消ssl校验,支持Jmeter + InfluxDB + Grafana实时监控和自带的ECharts实时监控;未配置则使用web自带Jmeter功能。 - MASTER_JMETER_USE_SCRIPT_KEY 默认false,使用web程序进程启动Jmeter - master程序。 - MASTER_JMETER_GENERATE_REPORT_KEY 为true时由进程生成测试报告,支持并发生成。 - SCRIPT_SCHEDULER_DURATION_KEY 为true开启脚本限时执行。 - JMETER_THREADGROUP_SET_KEY 默认为false,为true开启线程组管理功能,导入脚本时会往线程组配置库中导入一份。

注意事项

部署时需确保平台jmeter引擎版本、主节点版本、分布式节点版本一致,避免因不同版本配置文件或报告数据差异导致异常。

友情提示

本平台支持script脚本命令压测和jmeter api压测两种模式,可在[系统管理->参数配置]中修改: - script命令压测模式:不支持ECharts实时监控,支持配合grafana + influxdb实时监控。 - jmeter api压测模式:支持ECharts实时监控,多脚本分布式压测并监控需在各节点替换专用的ApacheJMeter_core.jar包。 - 配合grafana + influxdb监控需注意后端监听器配置:https://smooth.blog.csdn.net/article/details/107558934。 - 各节点jmeter时间需统一,推荐使用docker版jmeter。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】