JMeter压力测试案例(商品超卖并发问题)

news2024/11/20 10:39:55

什么要对接口压测呢?

  1. 压力测试可以用来验证软件系统的稳定性和可靠性,在压力下测试系统的性能和稳定性,发现并解决潜在的问题,确保系统在高负载情况下不会崩溃。
  2. 压力测试可以用来评估软件系统的容量和性能,通过模拟高负载情况下的用户访问量和数据量,测试系统的处理能力和响应速度,找出系统的瓶颈和性能弱点,并进行优化和改进。
  3. 压力测试可以用来确认软件系统的可用性和可用性,通过模拟用户的不同操作场景和异常情况,测试系统的稳定性、响应速度、错误处理能力和容错能力,确保系统能够在不同条件下正常运行,满足用户的需求。
  4. 压力测试可以用来研究新的技术和算法,在高负载情况下测试新的软件系统和技术的性能和稳定性,找出性能瓶颈和优化点,为软件系统的优化和改进提供依据。

相关说明

技术栈: 采用Nginx + Springboot + redis  + JMeter   对接口进行压力测试:

1、Nginx: 做负载均衡  、Nginx会负载到 8080 8081 这两个服务上去 。

2、Springboot  : 后台启动两个实例  8080 和 8081 。

3、redis: 设置key value 商品库存值为600 。   

4、JMeter: 对商品接口进行压测。

注意:  使用Jmeter对商品接口进行压测、重点是使用JMeter压测工具、其他不是重点那就开始吧。 

 

JMeter创建压测计划

 1、第一步肯定是先打开压测工具了。

 2、创建线程组

选中测试计划右击添加线程组   Add  Threads(Users)  Thread Group

 

 

  2、设置线程数和循环次数。我这里设置线程数为200,在一秒执行完200个现场,循环一次

 这图什么意思呢? 就是说JMeter启动200个线程在一秒内,同时往后台商品接口发送请求。

 

 3、创建Http请求

选中线程组 右击   Add Samlper HTTP Request

 

 

  4、输入协议、IP地址及端口号、选择请求方法、输入路径,内容编码一般为utf-8,输入请求参数

我这里就使用HTTP直接压了, 输入请求类型get 或 post  然后输入请求地址  

 

   5、在压测开始之前 需要添加一个聚合报告

   选中HTTP Request 右击   Add  Listener   Aggregate Repor

   Aggregate Repor:聚合报告  View Results Tree:结果树

 添加完聚合报告和结果树后 ,开始启动运行!

 

 

开始

 你会发现弹框了, 这是询问是否要保存这次压测计划,也就是说下次还可以接着复用。 

 

 聚合报告

执行完毕的聚合报告, 1秒压完200个请求 刚开始结束了!

 

后台商品扣减日志

8080服务后台的日志

 

8081服务后台的日志

 

总结:  通过JMeter 压测模拟出 商品接口超卖问题, 上图可以看出 我8080服务 已经扣减了库存,在看8081服务 也有相同扣减的数量 。  说明什么问题? 是不是测出了接口存在并发问题。这就相当于我有很用户来抢东西 ,这接口明显就是没有做分布式锁,导致所有线程都来抢导致超卖,所以说JMeter 就是来验证软件系统的稳定性和可靠性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/502265.html

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

相关文章

2023年5月学习,6月考试DAMA-CDGA/CDGP数据治理认证

6月18日DAMA-CDGA/CDGP数据治理认证考试开放报名中! 考试开放地区:北京、上海、广州、深圳、长沙、呼和浩特、杭州、南京、济南、成都、西安。其他地区凑人数中… DAMA-CDGA/CDGP数据治理认证班进行中,快来报名加入学习吧! DAMA认…

谈谈接口 0.0

目录 接口的概念 接口语法 接口的成员变量与方法 接口的使用 实现多个接口 接口的概念 在现实生活中,接口的例子比比皆是,比如:笔记本上的USB口,电源插座等... 电脑的USB口上,可以插:U盘、鼠标、键盘…

three.js 基础入门

总体思路: 1. 创建场景 2. 创建物体(指定几何体、材质) 3. 把物体加入场景 4. 创建相机(指定机位及拍摄对象) 5. 创建渲染器(指定画布大小,渲染场景和相机) // 1. 创建场景const s…

【图像分割】【深度学习】Windows10下f-BRS官方代码Pytorch实现

【图像分割】【深度学习】Windows10下f-BRS官方代码Pytorch实现 提示:最近开始在【图像分割】方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。 文章目录 【图像分割】【深度学习】Windows10下f-BRS官方代码Pytorch实现前言f-BRS模型运行环境安装1.下载源码并…

MySQL基础(十三)约束

1. 约束(constraint)概述 1.1 为什么需要约束 数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成…

Ubuntu20.04 不能访问磁盘? 挂载/添加磁盘

Ubuntu20.04 不能访问磁盘? 挂载/添加磁盘 1. 判断是否挂载磁盘2. 格式化磁盘3. 挂载磁盘4. 设置磁盘权限5. 重启系统 一般设备刚拿回来的是不会全部挂载的,也就是说,一部分硬盘(机械硬盘)是需要我们自己挂载的&…

如何通过舆情监测系统加强数据分析和舆情管控?

舆情监测系统是一种可以帮助企业、政府等机构了解并掌握公众对其关注的程度,以及对其言论和行动的态度和反应的工具。随着社交媒体的兴起,舆情监测系统也越来越重要,越来越受到各个领域的关注和应用。本文将通过分析国内的具体案例&#xff0…

flex布局中理解flex-grow、flex-shrink、flex-basis属性

参考博客: 深入理解flex布局的flex-grow、flex-shrink、flex-basis flex-basis属性 flex-basis设置子项目占据的空间大小, 如果指定flex-basis的值,则子项目会占用所设置的值。如果没有指定或者设置为auto,子项目占据的大小为wi…

咪咕MGV2000_JL-S905L3-B-当贝纯净桌面线刷固件包

咪咕MGV2000_JL-S905L3-B-当贝纯净桌面线刷固件包-内有教程及短接点 特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; 4、大量精简内置的没用的软件&a…

中兴B860AV2.1-T(M)-非高安版-当贝纯净桌面线刷固件包

中兴B860AV2.1-T(M)-非高安版-当贝纯净桌面线刷固件包-内有教程及短接点 特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; 4、大量精简内置的没用的软…

【花雕学AI】32:WeTab——使用 ChatGPT 聊天的新标签页,免费又好用

引言: 你是否厌倦了每次打开浏览器都看到同样的新标签页?你是否想要让你的新标签页更有个性,更有趣,更有用?如果是的话,那么你一定要试试 WeTab! WeTab 是一款免费的浏览器扩展,它…

DiscuzX3.5中,截屏图片的粘贴上传

目录 1 前言 2 网页端实现代码 3 服务器端php代码 4 测试一下 5 注意 1 前言 discuzX系列版本,无论是论坛还是门户,图片上传只能使用选择本地文件并上传的方式,与csdn直接用截屏后,ctrlv粘贴上传图片的方式相比,…

自动核对名单详细教程〖Python版〗

前言 大家好,今天我们来给大家分享一个很实用的东西。最近,有粉丝私信我,能不能做一个大学习自动核对名单的程序,我这个粉丝呢,她作为班级团支书,每次核对大学习的名单感到特别的头疼。那我接下来就来写一个…

国产操作系统---麒麟安装FastDFS

常用命令: fdfs_trackerd /etc/fdfs/tracker.conf start 启动 fdfs_storaged /etc/fdfs/storage.conf start 一、环境准备 环境:麒麟 4.19.90-24.4.v2101.ky10.x86_64 软件包 1. https://github.com/happyfish100/fastdfs/tagsfastDFS 1. …

论文阅读之Parameter-Efficient Transfer Learning for NLP(2019)

文章目录 AbstractIntroductionAdapter tuning for NLPExperiments总结参考 论文名称翻译过来就是“NLP的参数有效迁移学习”,其实就是是目前火热prompt learning(提示学习)出现的铺垫之一了。 NLP第三范式就是预训练模型微调下游任务&#x…

颠覆式变革来了?谷歌将改变搜索引擎展示方式,加入AI对话与短视频

来源 |华尔街见闻 作者 |周晓雯 谷歌搜索结果的展示页面,可能很快就会出现巨大变化。 据报道,谷歌正在改变其呈现搜索结果的方式,将人工智能对话以及更多的短视频和社交媒体帖子纳入其中,这与数十年来促使其成为搜索引擎“霸主”的…

UP主发车啦!撩人仙侠文系列,谁来管管这个反派啊!

本人书龄4年,平时很爱看小说,阅遍无数经典修仙文,熬夜党的最爱啊!!!!我心中的仙侠top,都是我的心头爱。 一般我都会跟朋友说这六本五星级仙侠好文,如果她们不看&#xf…

利用Appuploader上架IPA步骤

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code1vtq5fxoqxjpg Appuploader可以辅助在Windows、linux或mac系统直接申请iOS证书p12,及上传ipa到App Store。方便在没有苹…

Shell脚本练习

求100以内正奇数和 注意点: $[]和$(()):是进行数学运算的。支持 - * / %:分别为 “加、减、乘、除、取模”。但是注意,bash只能作整数运算,对于浮点数是当作字符串处理的。{a..b}:表示范围。大于等于a&am…

python3+requests接口自动化测试实例详细操作

前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的…