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 相关 ...
- 电商系统中的商品模型的分析与设计—续
前言 在<电商系统中的商品模型的分析与设计>中,对电商系统商品模型有一个粗浅的描述,后来有博友对货品和商品的区别以及属性有一些疑问.我也对此做一些研究,再次简单的对商品模型做一个介 ...
随机推荐
- Access pg walkthrough Intermediate window域渗透
namp nmap -p- -A -sS -T4 192.168.200.187 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-23 00 ...
- Windows中GNURadio的安装
对于一个常常使用Python的人来讲(此处指我),conda环境是必不可少的,(Anaconda或Miniconda). 在Windows中且已经安装过conda环境的情况下,安装GNURadio特别 ...
- 天翼云弹性高性能计算Portal简介
本文分享自天翼云开发者社区<天翼云弹性高性能计算Portal简介>,作者:小燕同学 1.平台概述 天翼云官网已上线公有云弹性高性能计算(EHPC)产品,公有云EHPC产品主要由管理员控制, ...
- linux shell 脚本调试技巧
本文分享自天翼云开发者社区<linux shell 脚本调试技巧>,作者:g****n 1.bash -x 加脚本 这是最常用的调试手段,终端会打印出,脚本执行过程中的每一个命令. a. ...
- Mac使用docker安装Doris
一.编译源码 (1)拉取编译镜像docker pull apache/incubator-doris:build-env-1.2 (2)Mac电脑上拉取源码git clone https://gith ...
- 如何在Spring Boot项目中添加国密SM4加密支持?——基于过滤器的实现
如何在Spring Boot项目中添加国密SM4加密支持呢?--基于过滤器的实现 引言 在数字化时代,数据安全至关重要,尤其是在API交互过程中,确保传输数据的安全性是保护隐私和机密信息的关键.中 ...
- 探秘Transformer系列之(3)---数据处理
探秘Transformer系列之(3)---数据处理 接下来三篇偏重于工程,内容略少,大家可以当作甜点 _. 0x00 概要 有研究人员认为,大模型的认知框架看起来十分接近卡尔·弗里斯顿(Karl F ...
- 多项式算法再探:FMT 和 FWT
我们知道,FFT 和 NTT 可以用来解决下面这种问题: \[c_k=\sum_{i+j=k}a_ib_j \] 不过,这并不是卷积的全部形态,比如下面这种: \[c_k=\sum_{i*j=k}a_ ...
- 记一次golang项目context引发的OOM故障
之前写过一篇一种基于etcd实践节点自动故障转移的思路, 程序经历过一次线上进程内存持续上涨终OOOM的小事故, 本次技术复盘导致本次内存泄露的完整起因. 提炼代码: 业务函数etcdWatchLoo ...
- autMan奥特曼机器人-定时推送的用法
一.定时推送功能简介 "定时推送"位于"系统管理"目录 主要有两个功能: 一是定时向某人或某群发送信息. 二是定时运行某指令,就是机器人给自己发指令,让自己运行 ...