Jmeter同步定时器模拟秒杀

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter同步定时器模拟秒杀相关的知识,希望对你有一定的参考价值。

参考技术A 一、什么时候需要使用同步定时器?
测试抢购、秒杀或者抢红包等高并发的场景时使用
二、如何使用同步定时器?
二、模拟100个用户并发
1、设置并发线程数,模拟同时发送请求的虚拟用户数

2、测试计划->线程组->HTTP请求->在添加的HTTP请求右键,选择定时器->Synchronizing Timer,设置超时时间,不是必填,但是建议设置,不设置的话,如果没有达到设置的线程数会一直死等;设置的值不能太小,等待时间后还没有达到设置的线程数,会释放已到达的线程
Number of Simulated Users to Group by:模拟用户数量,即指定同时释放的线程数数量,如果设置为0,表示设置为线程组中的线程数量,比如线程组设置100,这边设置20,那就是一次并发20,分5次完成;如果设置的是30,那就是每一次30往上加,执行到90只剩下10,会一直在那里死等,知道凑齐30再释放(Timeout in milliseconds未设置),如果Timeout in milliseconds设置时间很短,看不出来区别,也会直接完成所有

Jmeter 使用集合点

概念解释

集合点,这个概念是loadrunner中的。

这个东西可以这样理解,比如我们在跑100起跑的时候,需要在发令枪响之后,10人同时起步,等10人同时达到终点,

再次开发令枪,重复上面的动作。

这个东西在压力测试时,能够很好的模拟并发,对系统造成最大的压力。

在JMETER中实现

技术图片

在JMETER使用同步定时器来实现,我在循环中加了一个固定的定时器,目的是让人看得清楚,测试确实是3个一组的执行。

上图实现的是:

1.线程组循环3次,代表三个用户执行。

2.在登录之后加一个同步定时器。

那么会等3个人登录完成,再往下走。

3.在发起流程后

会等待3人都完成后,在统一发起流程。

我们可以通过结果树看到真实的效果。

技术图片

可以看到3个登录完成后会统一发起流程。

 

以上是关于Jmeter同步定时器模拟秒杀的主要内容,如果未能解决你的问题,请参考以下文章

JMeter笔记12 | JMeter集合点

JMeter笔记12 | JMeter集合点

Jmeter 用表格查看结果 详解

Jmeter(二):定时器Synchronizing Timer(设置集合点,实现并发)

JMeter 集合点技术详解

JMeter定时器设置延迟与同步