《微聊》JMeter性能测试报告

文章目录

  • 准备工作
    • 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.mzph.cn/news/125708.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

13年测试老鸟,软件测试经验总结分享,这几年你走了多少坑...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、测试阶段划分 …

NLP之LSTM原理剖析

文章目录 背景simpleRNN的局限性 LSTM手写一下sigmoid例子支持长记忆的神经网络解读3重门 背景 SimpleRNN有一定局限性, 图片上的文字内容: 图片标题提到“SimpleRNN是一种基础模型。它用于解决序列型问题,其中的每一步的输出会影响到下一步的结果。图…

7+共病思路。WGCNA+多机器学习+实验简单验证,易操作

今天给同学们分享一篇共病WGCNA多机器学习实验的生信文章“Shared diagnostic genes and potential mechanism between PCOS and recurrent implantation failure revealed by integrated transcriptomic analysis and machine learning”,这篇文章于2023年5月16日发…

【NI-DAQmx入门】传感器基础知识

1.什么是传感器? 传感器可将真实的现象(例如温度或压力)转换为可测量的电流和电压,因而对于数据采集应用必不可少。接下来我们将介绍您所需的测量类型及其对应的传感器类型。在开始之前,您还可以先了解一些传感器术语&…

SpringBoot面试题8:运行 Spring Boot 有哪几种方式?Spring Boot 需要独立的容器运行吗?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:运行 Spring Boot 有哪几种方式? 运行Spring Boot应用有多种方式,具体取决于你的需求和环境。以下是几种常见的运行Spring Boot应用的方式: 使…

Linux进程程序替换

一、单进程下的程序替换 使用execl进行程序替换,先执行execl前面的代码,在execl处替换成其它进程的代码和数据继续执行,后面的内容就不执行了,因此只打印before 二、程序替换原理 前面我们fork创建子进程,子进程会继承…

在全新ubuntu上用gpu训练paddleocr模型遇到的坑与解决办法

目录 一. 我的ubuntu版本![在这里插入图片描述](https://img-blog.csdnimg.cn/297945917309494ab03b50764e6fb775.png)二.首先拉取paddleocr源代码三.下载模型四.训练前的准备1.在源代码文件夹里创造一个自己放东西的文件2.准备数据2.1数据标注2.2数据划分 3.改写yml配置文件4.…

PostGreSQL:数据表继承

PostGreSQL手册的简史部分介绍到:被称为PostGreSQL的对象关系型数据库管理系统,由美国加州大学伯克利 分校编写的POSTGRES软件包发展而来。经过十几年的发展,PostGreSQL目前是世界上最先进的开源数据库。 The object-relational database man…

Vue 的双向数据绑定是如何实现的?

目录 1. 响应式数据 2. v-model 指令 3. 实现原理 4. 总结 Vue.js 是一款流行的前端 JavaScript 框架,它以其强大的双向数据绑定能力而闻名。双向数据绑定使得数据在视图和模型之间保持同步,并且任一方的变化都会自动反映到另一方。那么,…

2021-arxiv-GPT Understands, Too

2021-arxiv-GPT Understands, Too Paper: https://arxiv.org/abs/2103.10385 Code: https://github.com/THUDM/P-tuning Prompt 简单理解 举例来讲,今天如果有这样两句评论: 1. 什么苹果啊,都没有苹果味&#xff0c…

rust std

目录 一,std基本数据结构 1,std::option 2,std::result 二,std容器 1,vector 三,std算法 1,排序 2,二分 (1)vector二分 (2)…

【C++代码】分割等和子集,目标和,一和零,零钱兑换,动态规划--代码随想录

题目&#xff1a;分割等和子集 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集&#xff0c;使得两个子集的元素和相等。 初步想法排序后双指针&#xff0c;发现不行 class Solution { public:bool canPartition(vector<int>&…

计讯物联外贸公司--佰沃恩应邀出席第三届“嘉庚论坛”—科技创新推动经济高质量发展分论坛

10月22日&#xff0c;以“数智创新能动未来”为主题的第三届“嘉庚论坛”—科技创新推动经济高质量发展分论坛于集美海景皇冠假日酒店正式启幕。此论坛聚焦集美区战略前沿产业&#xff0c;汇聚来自全国各地优秀的企业家、高校及科研院所专家学者&#xff0c;并邀请相关领域的亲…

【案例实战】NodeJS+Vue3+MySQL实现列表查询功能

这篇文章&#xff0c;给大家带来一个列表查询的功能&#xff0c;从前端到后端的一个综合案例实战。 采用vue3作为前端开发&#xff0c;nodejs作为后端开发。 首先我们先来看一下完成的页面效果。点击分页&#xff0c;可以切换到上一页、下一页。搜索框可以进行模糊查询。 后端…

CSRF 篇

一、CSRF 漏洞&#xff1a; 1、漏洞概述&#xff1a; &#xff08;1&#xff09;一般情景&#xff1a; 利用已认证用户的身份执行未经用户授权的操作。攻击者试图欺骗用户在其不知情的情况下执行某些操作&#xff0c;通常是在受害者已经登录到特定网站的情况下。 &#xff0…

长沙某公司面经总结 - 失败版

1.Java语言的特征 Java的三大特性&#xff1a;封装、继承、多态 面向对象是利于语言对现实事物进行抽象。面向对象具有以下特征&#xff1a; 继承&#xff1a;继承是从已有类得到继承信息创建新类的过程 封装&#xff1a;封装是把数据和操作数据的方法绑定起来&#xff0c;对…

IP地址与代理ip在网络安全中的关键作用

目录 前言 一、IP地址在网络安全中的作用 1、网络流量监视和分析 2、网络安全事件响应 3、网络安全检测和防御 二、代理IP在网络安全中的作用 1、流量过滤和清洗 2、匿名访问和保护隐私 3、实现全球化业务 三、IP地址和代理IP在网络安全中的应用案例 1、DDoS攻击 2…

QT实现在线流媒体播放平台

文章目录 QT实现在线流媒体播放平台简介开发视频ffmpeg下载SimpleVideoPlayer.hSimpleVideoPlayer.cpp 开发音频添加功能打开文件夹播放暂停播放上下一首选择倍速 效果展示项目下载 QT实现在线流媒体播放平台 简介 Qt是一种流行的C开发框架&#xff0c;它提供了用于构建图形用…

AT32固件库外设使用,ArduinoAPI接口移植,模块化

目录 一、ArduinoAPI移植一、通用定时器使用1.计时1.2.ETR外部时钟计数4.ArduinoAPI - timer 三、ADC1.ADC初始化&#xff08;非DMA&#xff09;2.ADC_DMA 规则通道扫描 六、USB HID IAP1.准备好Bootloader和app2.配置好时钟&#xff0c;一定要打开USB3.将生成的时钟配置复制到…

Mybatis执行流程简析

一、前言 日常工作中&#xff0c;我们用到mybatis的时候&#xff0c;都是写一个Mapper接口xml文件/注解形式&#xff0c;然后就可以在业务层去调用我们在Mapper接口中定义的CRUD方法&#xff0c;很方便&#xff0c;但一直都没有去研究过执行逻辑&#xff0c;下面附一篇我自己研…