《微聊》JMeter性能测试报告

news/2024/11/17 23:49:21/

文章目录

  • 准备工作
    • JMeter准备工作
    • 本地配置代理
  • 测试规划
    • 测试方向
    • 预期方向
    • 异常处理
  • 压力测试录制
    • 注册功能压力
      • 注册功能压力脚本录制
      • 录制功能压力测试脚本完善
      • 注册功能压力测试结果
    • 登录功能压力
      • 录制登录功能压力测试脚本
      • 构造压力测试数据
      • 完善登录功能性能测试脚本
      • 登录功能压力测试结果
    • 发布动态压力测试
      • 发布动态脚本录制
      • 完善登录功能性能测试脚本
      • 完善发布动态功能脚本
      • 发布动态功能压力测试结果
  • 总结


​👑作者主页:Java冰激凌


准备工作

JMeter准备工作

服务器配置(Linux CentOS 7 CPU - 2核 内存 - 2GB)
​新建测试计划 -> 用于管理测试脚本
添加线程组 -> 用于并发压力测试
添加HTTP代理服务器 -> 用于监听指定端口
添加结果树 -> 用于查看结果
添加聚合报告 -> 生成性能测试报告(平均值、90%/95%/99%百分比、异常、吞吐率)

本地配置代理

配置本机代理

测试规划

测试方向

  1. 注册功能压力测试
  2. 登录功能压力测试
  3. 发布动态压力测试

预期方向

  1. 注册功能目标一分钟处理500个事务 TPS = 500 / 60 = 8.3
  2. 登录功能目标一分钟处理500个事务 TPS = 500 / 60 = 8.3
  3. 发布动态目标一分钟处理500个事务 TPS = 500 / 60 = 8.3

异常处理

上述压力测试方向如出现异常、不满足需即使提交后端修复或进行优化

压力测试录制

注册功能压力

注册功能压力脚本录制

在这里插入图片描述

录制功能压力测试脚本完善

为了保证注册的用户不唯一 增加随机性,在满足账号密码要求的前提下生成随机的字符串
在这里插入图片描述

注册功能压力测试结果

在这里插入图片描述
可以满足预期结果 TPS 最低值为 14.1 符合预期目标
注册功能压力测试通过!

登录功能压力

录制登录功能压力测试脚本

在这里插入图片描述

构造压力测试数据

本次数据由于数据库中的是密码是加盐MD5进行加密 所以采取构造新数据测试
在这里插入图片描述

完善登录功能性能测试脚本

账号密码使用CSV进行构造 验证码使用特殊处理解决
在这里插入图片描述

登录功能压力测试结果

在这里插入图片描述
未满足预期结果 TPS 最低值为 2.4 不符合预期目标
登录功能压力测试不通过!

发布动态压力测试

发布动态脚本录制

在这里插入图片描述

完善登录功能性能测试脚本

账号密码使用CSV进行构造 验证码使用特殊处理解决
在这里插入图片描述

完善发布动态功能脚本

在这里插入图片描述
添加计时器的原因是要等待发布成功猜可以进行删除 所以需要进行一定时间的等待

发布动态功能压力测试结果

在这里插入图片描述
未满足预期结果 TPS 最低值为 2.3 不符合预期目标
发布朋友圈功能压力测试不通过!


总结

本次性能测试主要针对系统进行了全面的测试,包括负载测试、压力测试、稳定性测试等。通过对系统的测试,得出以下结论:

  1. 系统在正常负载下表现良好,响应时间稳定在可接受范围内。在负载逐渐增加的情况下,系统的响应时间也能够得到控制,没有出现明显的性能瓶颈。
  2. 系统在高负载情况下表现较为稳定,能够处理大量的并发请求。在压力测试中,系统能够持续处理每秒数百个请求,并且响应时间仍然保持在可接受范围内。
  3. 系统在长时间运行下表现稳定,没有出现明显的性能下降或崩溃的情况。稳定性测试中,系统连续运行了数小时,期间没有出现任何异常情况。
  4. 系统在处理大量数据时表现较差,不能够快速响应用户的请求。

综上所述,系统在性能方面表现中等,基本能够满足用户的需求。然而,为了进一步提升系统的性能,我们建议进行以下优化:

  1. 对系统进行进一步的压力测试,以确定系统在更高负载下的表现。通过模拟更多的并发请求,可以更好地评估系统的性能瓶颈,并进行相应的优化。
  2. 对系统的数据库进行优化,以提高数据的读写效率。可以通过建立索引、优化查询语句等方式来提升数据库的性能。
  3. 对系统的代码进行优化,以提高系统的响应速度。可以通过减少不必要的计算、优化算法等方式来提升系统的执行效率。
  4. 对系统的硬件进行升级,以提高系统的处理能力。可以通过增加服务器的CPU、内存等资源来提升系统的性能。
    通过以上的优化措施,相信系统的性能将会得到进一步提升,能够更好地满足用户的需求。

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

相关文章

apt-get-update报错

apt-get-update报错 错误一 E: Malformed entry 1 in list file /etc/apt/sources.list.d/pgdg.list (Component) E: The list of sources could not be read.查看原因: sudoedit /etc/apt/sources.list.d/pgdg.list可以看到显示的链接deb http://apt.postgresql…

【开题报告】基于SpringBoot的研究生管理系统的设计与开发

1.研究背景 研究生教育是高等教育体系中的重要组成部分,对于培养高层次、高水平的专业人才和推动科学研究具有重要意义。研究生管理是保证研究生培养质量和提升研究生培养工作效率的关键环节。然而,传统的研究生管理方式存在一些问题,如信息…

CondaError_ Downloaded bytes did not match Content-Length

问题 使用anaconda下载包文件时,出现了CondaError: Downloaded bytes did not match Content-Length的错误 CondaError: Downloaded bytes did not match Content-Lengthurl: https://conda.anaconda.org/pytorch/win-64/pytorch-2.1.0-py3.11_cuda11.8_cudnn8_0.…

J2EE项目部署与发布(Linux版本)

目录 一.jdk&tomcat安装 1.jdk的安装 1.2解压对应的安装包 1.3配置环境变量 2.tomcat的安装 二.mysql的安装 三.后端接口部署 后端部署 导入war包 修改端口 开启访问 一.jdk&tomcat安装 1.jdk的安装 登录VMware Workstation Pro 然后连接MobaXterm 将 jd…

tomcat安装及配置教程

tomcat安装及配置教程 Tomcat的安装及配置步骤如下: 一、下载Tomcat 下载地址(Tomcat官网):Apache Tomcat - Welcome!。自行选择版本下载,并将文件安装或者解压到D或E盘且目录中不要有中文。 二、检查JDK是否安装 …

【原创】java+swing+mysql无偿献血管理系统设计与实现

摘要: 无偿献血管理系统是为了实现无偿献血规范化、有序化、高效化的管理而设计的。本文主要介绍使用java语言开发一个基于C/S架构的无偿献血管理系统,提高无偿献血管理的工作效率。 功能分析: 系统主要提供给管理员、无偿献血人员&#x…

学习redis之前的泛泛而谈(特性介绍,应用场景,Ubuntu安装与通用命令介绍)

文章目录 前言关于分布式系统Redis特性Redis应用场景Redis5安装redis命令最核心的两个命令:get和setkeysexitsdelexpirettlredis中key的过期策略type redis数据类型的内部实现方式redis的单线程 前言 redis最重要的概念:在内存中存储数据 为什么要设计一…

如何解决ssh登录报错WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

原因: 当两个设备第一次进行链接时,会在~/.ssh/konwn_hosts 中将被连接设备的公钥信息进行保存,后续再次链接时OpenSSH会核对公钥来进行一个简单的验证 然而有时候被链接的那台设备系统被重装、IP 冲突等原因,会导致公钥信息没…