JMeter定时器之同步定时器

JMeter定时器之同步定时器

1. 背景

在实际生活中大家肯定遇到过一种场景,就是在某一时间或某一时刻,某件商品进行抢购,相当于秒杀;但是用JMeter进行测试的时候,如何模拟这种场景?用一种组件就可以实现,定时器中的"同步定时器"。

2. 目的

  • 了解t同步定时器的基础功能;熟悉同步定时器的使用场景。
  • 学会使用同步定时器组件。

3. 介绍

官网解释: 同步定时器的目的是阻塞下称,直到X个线程被阻塞,然后立即释放。因此,同步定时器可以在各种情况下创建较大的瞬时负载。

界面显示: 如下所示。

属性 描述 必填
名称 树中显示此计时器的描述性名称
要分组的并发用户数 一次释放的线程数,设置为0等效于将其设置为线程中的线程数 是的
超时时间(单位是毫秒) 1、如果设置成0,计时器将等待线程数达到"要分组的并发用户"中的值。 2、如果大于0,则计数器将以最大"超时时间(单位是毫秒)"等待线程。 3、如果在超时时间间隔后未达到等待的用户数,计时器将停止等待。 4、默认值为0。
[#### 参数解释]

注意:

  • 如果超时时间设置为0,并且线程数永远不会达到"要分组的并发数",则Test将无限停止,只有强制停止才能阻止他。这种情况,将超时时间设置成一个合理的值是需要考虑的。
  • 仅在一个JVM内同步定时器模块,因为如果使用分布式测试,请确保永远不会将"并发用户数"设置高于用户数的值,其包含的线程组只考虑一个注入器。

4. 例子

验证同步定时器,作用,准备如下测试场景

4.1单个请求

|----|---------|---------|------|-----------------------------------------------------------------------------------------------------------|
| 序号 | 线程数(30) | 定时器等待线程 | 超时时间 | 预期结果 |
| 1 | 30 | 30 | 0 | 用户等待达到30个用户,同时并发发起请求 |
| 2 | 30 | 20 | 100 | 1、刚好超时100ms,且用户等待达到20个用户,同时并发发起请求。 2、等到20个用户,未超时,继续等到结束,再并发,这时用户数将大于30。 3、等到小于20个用户,又超过超时时间,等到的用户数可以小于30。 |
| 3 | 30 | 40 | 0 | 用户无法达到40个用户,线程会一直等待,不会停止。 |
| 4 | 30 | 0 | 0 | 定时器设置的用户等于线程组的用户,超时默认设置为0,用户同时并发。 |
[##### 测试场景]

  • 序号是1,设置如上边参数,测试结果如下所示。
  • 序号是4,设置如上边参数,测试结果如下所示。

4.2多个请求

背景: 当线程组中有多个请求,怎么实现不同请求的不同并发操作呢?

解决方案: 例如单个线程组下有两个请求,给每个请求增加同步定时器,每个定时器设置不同的并发数。

重点:线程数的参数 > 定时器的等待线程数。

|----|--------|----------|----------|------|-----------------------------------------------------------------|
| 序号 | 线程数(8) | 定时器等待线程1 | 定时器等待线程2 | 超时时间 | 预期结果 |
| 1 | 8 | 2 | 4 | 0 | 1、定时器等待线程1,总请求次数,8次,每次2个同时并发请求。 2、定时器等待线程2,总请求次数,8次,每次4个同时并发请求。 |
[##### 测试场景]

测试结果:

相关推荐
se-tester6 天前
JMeter、Postman 和 SoapUI 在做接口测试上的优势和缺点
测试工具·jmeter·接口测试·postman·soapui
feathered-feathered7 天前
测试实战【用例设计】自己写的项目+功能测试(1)
java·服务器·后端·功能测试·jmeter·单元测试·压力测试
质量保障小乔12 天前
JMeter+Jenkins+AI自动化测试
jmeter
装不满的克莱因瓶14 天前
Java高并发异步请求实战,Jmeter暴力压测下的解决方案
jmeter·线程池·多线程·并发·resttemplate·qps·压测
在坚持一下我可没意见19 天前
ideaPool论坛系统测试报告
java·spring boot·功能测试·selenium·jmeter·mybatis·压力测试
linweidong21 天前
别让老板等:千人并发下的实时大屏极致性能优化实录
jmeter·clickhouse·性能优化·sentinel·doris·物化视图·离线数仓
CesareCheung22 天前
JMeter核心组件使用方法及场景大全
jmeter
我会一直在的23 天前
Jmeter的基础使用
功能测试·jmeter·压力测试
choke23323 天前
软件性能测试实战:从基础概念到 JMeter 全组件使用
jmeter
网络安全-杰克24 天前
Jmeter压力测试工具安装与使用
自动化测试·软件测试·测试工具·jmeter·职场和发展