Jmeter—对异步请求的性能测试

本文介绍了针对异步请求的性能测试方法,详细解析了业务逻辑,即用户最多并发三个请求,等待其中一个完成后才能发起新的请求。通过Jmeter进行脚本准备,包括设置并行线程组、使用Json提取器和BeanShell判断状态码,利用While控制器实现5秒一次的查询,以及事务控制器来计算完整响应时间。最后,展示了具体的脚本实现结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、异步请求业务逻辑

业务描述:
一个用户最多能同时发起三个异步请求,三个请求中有一个进行完后才允许发起下一个。

业务流程:

  1. 发一个异步请求,会返回一个jobid,后台job扫描到有异步请求后就会去处理
  2. 浏览器每5秒向服务器发送一次查询请求——查询job的处理情况,该查询请求reponse里面会包含三个异步请求的处理情况信息(最多三个),有jobId与对应的statusCd信息,然后根据对应的statusCd的值判断异步请求是否结束
  3. 查询job处理情况的请求 返回的报文如下
    statusCd-A:job未处理
    statusCd-P:job正在处理
    statusCd-S:job处理成功
    在这里插入图片描述

二、Jmeter脚本准备

1.思路

  1. 实现一个用户能最多同时发起三个异步请求,一个异步结束之后发起下一个:设置三个并行的线程组,一个线程组里放一个异步请求
  2. 如何判断异步请求是否结束:1)获取异步请求的jobid:json提取器 2)在查询job处理情况的请求中 根据jobid去获取对应的statusCd:json提取器+beanshell 3)while控制器判断statusCd的值,若statusCd != S,则让改请求一直循环
  3. 如何5秒发一次请求判断异步是否结束:while控制器+固定定时器
  4. 如何计入整个异步请求的响应时间:事务控制器 勾选Include duration of timer and pre-post processors in generated sample

2.脚本实现

脚本结构
脚本结构1
脚本结构2
json提取器
在这里插入图片描述
beanshell
在这里插入图片描述

//获取jobid对应的statusCd,声明为statusCd变量
String jobid 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值