jmeter性能测试案例:电商系统并发订单测试
场景描述:本案例主要实现多用户同时提交订单,以检测系统对瞬时压力的响应情况。具体流程包括用户登录-添加商品-提交订单。涉及多个接口联动和参数处理,步骤如下:
第一步,登录用户
1、新建“下订单”线程组(测试计划-线程-线程组),线程数可设置并发数,比如图中30代表30个用户并发执行,ramp-up代表加载30个用户使用时间

2、添加cookie管理器(选中线程组-添加-配置元件-httpcookie管理器)

3、创建用户登录(选中线程组-添加-取样器-http请求),下图箭头注明了http请求方式,路径里填写request url,基本内填写请求的参数。参数内telphone即用户登录信息,这里采取直接读取csv文件获取用户账号

读取csv文件的方法(选中登录用户--添加-配置元件-CSV 数据文件设置)设置好变量名和文件路径,CSV文件内容右图。然后在请求即“用户登录”telphone参数内填入变量值“${user}”即可

4、登录成功后,需要返回用户鉴权信息给后面的请求使用,分析登陆后的返回值,找到鉴权信息,把这部分内容提取后做成变量

提取并设置成变量的方法(选中登录用户--添加-后置处理器-正则表达式处理器),根据上图可知,token的内容在jwttoken和logiflag之间,如此,正则表达式可写成"JwtToken":"(.+?)","LoginFlag"
如此,鉴权信息变量化,变量名称“JwtToken”

步骤二:获取商品信息
1、创建http请求,获取商品列表,且取第一个商品的信息

2、根据“1”返回结果,把价格和商品id提取出来设置成变量,这里需要注意对请求头的处理,请求头需要带入“登录步骤”获取的鉴权信息,即前文的JwtToken,否则获取列表数据非用户登录后数据,导致后面无效


头信息处理(选中分页获取商品列表 --添加-配置元件-HTTP信息头管理器),信息头包括文本类型,host和鉴权信息

3、保存直接下单数据到购物车请求,提取“CartInfo”值,这个值是提交订单接口必备的参数之一,后面几个接口都是如此,中间的参数设置已经返回值提取和变量化不再累赘

4、提取“addId”,客户收地地址信息

5、获取(计算)运费,提取运费

步骤3:订单请求,步骤2内容基本是给步骤3提交订单准备数据,可以看到,这个请求的参数里有好几个变量,实际就是步骤2里的请求提取的数据

以上,一个完整的用户-获取商品数据-提交订单流程完成了
步骤4:设置并发环境,比如我们需要30个用户同时提交订单
1、线程组设置30

2、为了实现30个用户同时提交订单,选中创建订单步骤,设置数量与线程数一致(添加-定时器-Synchronizing Timer)


3、在最后面加上察看结果树、聚合报告、用表格察看结果等结果显示(线程组-添加-监听器),如此,整个jmeter脚本环境就算配置完成

步骤5:执行,点上面绿色的按钮开始执行

步骤6:查看结果
1、察看结果树的结果

2、聚合报告的结果

3、用表格察看结果的结果,这个报告可以看出下订单接口所有的用户的请求时间,所有用户的请求时间基本误差在1秒内,如果用户数越大,差异应该越大,这个跟负载机的性能应该有关系

完成!
jmeter性能测试案例:电商系统并发订单测试的更多相关文章
- Java生鲜电商平台-OMS订单系统中并发问题和锁机制的探讨与解决方案
Java生鲜电商平台-OMS订单系统中并发问题和锁机制的探讨与解决方案 说明:Java开源生鲜电商中OMS订单系统中并发问题和锁机制的探讨与解决方案: 问题由来 假设在一个订单系统中(以火车票 ...
- 案例实战:每日上亿请求量的电商系统,JVM年轻代垃圾回收参数如何优化?
出自:http://1t.click/7TJ 目录: 案例背景引入 特殊的电商大促场景 抗住大促的瞬时压力需要几台机器? 大促高峰期订单系统的内存使用模型估算 内存到底该如何分配? 新生代垃圾回收优化 ...
- 属性 每秒10万吞吐 并发 架构 设计 58最核心的帖子中心服务IMC 类目服务 入口层是Java研发的,聚合层与检索层都是C语言研发的 电商系统里的SKU扩展服务
小结: 1. 海量异构数据的存储问题 如何将不同品类,异构的数据统一存储起来呢? (1)全品类通用属性统一存储: (2)单品类特有属性,品类类型与通用属性json来进行存储: 2. 入口层是Java研 ...
- 每日上亿请求量的电商系统,JVM年轻代垃圾回收参数如何优化? ----实战教会你如何配置
目录: 案例背景引入 特殊的电商大促场景 抗住大促的瞬时压力需要几台机器? 大促高峰期订单系统的内存使用模型估算 内存到底该如何分配? 新生代垃圾回收优化之一:Survivor空间够不够 新生代对象躲 ...
- 12. 亿级流量电商系统JVM模型参数二次优化
亿级流量电商系统JVM模型参数预估方案,在原来的基础上采用ParNew+CMS垃圾收集器 一.亿级流量分析及jvm参数设置 1. 需求分析 大促在即,拥有亿级流量的电商平台开发了一个订单系统,我们应该 ...
- Java进阶专题(十三) 从电商系统角度研究多线程(上)
前言 本章节主要分享下,多线程并发在电商系统下的应用.主要从以下几个方面深入:线程相关的基础理论和工具.多线程程序下的性能调优和电商场景下多线程的使用. 多线程J·U·C 线程池 概念 回顾线程创 ...
- Java进阶专题(十五) 从电商系统角度研究多线程(下)
前言 本章节继上章节继续梳理:线程相关的基础理论和工具.多线程程序下的性能调优和电商场景下多线程的使用. 多线程J·U·C ThreadLocal 概念 ThreadLocal类并不是用来解决 ...
- 通过Dapr实现一个简单的基于.net的微服务电商系统
本来想在Dpar 1.0GA时发布这篇文章,由于其他事情耽搁了放到现在.时下微服务和云原生技术如何如荼,微软也不甘示弱的和阿里一起适时推出了Dapr(https://dapr.io/),园子里关于da ...
- 通过Dapr实现一个简单的基于.net的微服务电商系统(十六)——dapr+sentinel中间件实现服务保护
dapr目前更新到了1.2版本,在之前4月份的时候来自阿里的开发工程师发起了一个dapr集成Alibaba Sentinel的提案,很快被社区加入到了1.2的里程碑中并且在1.2 release 相关 ...
- 电商系统中的商品模型的分析与设计—续
前言 在<电商系统中的商品模型的分析与设计>中,对电商系统商品模型有一个粗浅的描述,后来有博友对货品和商品的区别以及属性有一些疑问.我也对此做一些研究,再次简单的对商品模型做一个介 ...
随机推荐
- 02如何直接使用uni-app中提供的模板之公告滚动
用hBuibler将提供的模板下载下载,通过url上的路径找到你需要的模板对应的位置. 然后将这个文件夹中的diamante全部赋值过来就ok了. <view class="uni-p ...
- 在SOUI4中使用非客户区自绘
前段时间用sdl嵌入SOUI做视频播放器,由于SOUI习惯屏蔽系统默认的非客户区,而在窗口自己的客户区分出一块来模拟非客户区,导致窗口在拉伸的时候,SOUI窗口会出现比较严重的闪烁(不光是SOUI这样 ...
- 打造有效安全闭环,天翼云MDR来了!
随着网络攻-防对抗形势愈演愈烈,传统的安全防护模式已难以应对频率暴增.昼夜不停的网络安全攻-击,提升组织安全防护能力势在必行.事实上,一些单位在网络安全建设工作中经验不足,在安全组件/设备采购方面大量 ...
- Docker部署Go+Mysql+Redis
两种方式Docker和Docker Compose部署web项目,相对于Go语言来说,不管是使用docker部署还是直接服务器部署都相当方便,比python要简单很多. 1.Dockerfile结构解 ...
- RocketMQ实战—10.营销系统代码优化
大纲 1.营销系统引入MQ实现异步化来进行性能优化 2.基于MQ释放优惠券提升系统扩展性 3.基于Redis实现重复促销活动去重 4.基于促销活动创建事件实现异步化 5.推送任务分片和分片消息batc ...
- DeepSeek提示词工程完全指南:如何用「思维翻译器」激发大模型潜能——附官方提示词和优化案例
DeepSeek提示词工程完全指南:如何用「思维翻译器」激发大模型潜能--附官方提示词和优化案例 字数:约3000字|预计阅读时间:8分钟 之前写了一篇DeepSeek-R1 技术全景解析:从原理到实 ...
- 安川MH225机械手CPU单元维修解决方案
在进行安川机器人cpu单元维修之前,我们需要做好充分的准备工作.首先,了解机器人的使用环境和历史情况,了解机器人出现故障的具体表现,例如:是否有异常震动.过热等现象.其次,准备必要的维修工具和备件,确 ...
- Typecho 从零开始搭建个人博客详细教程
搭建Typecho个人博客需要进行一些准备工作.以下是大致的教学步骤: 1. 准备工作: - 一台支持PHP和MySQL的服务器,可以是虚拟主机或者自己搭建的服务器. - 一个域名,用于访 ...
- [Windows] 联发科秒开bl一键版(mtk)
声明 不是所有的联发科都可 天机 8000 8100 9000等不行 已知 天机820 天机1000 mtk G90t 天机800 可以 其余自己测试 除了新款均可 第一步 下载软件 (是个压缩包需要 ...
- Flume - [05] Hbase sink
一.概述 此接收器将数据写入Hbase.Hbase配置是从类路径中遇到的第一个Hbase-site.xml获取的.由配置指定的实现 HbaseEventSerializer 的类用于将事件转换为 ...