关键词:
在运营活动测试过程中,经常需要对秒杀活动或定时抽奖活动进行并发测试。那么怎样快速便捷的模拟多用户同时参与活动,抽取奖品,进行并发测试呢?尤其是,当奖品总数N<用户总数M时,代码是否会存在奖品多发给用户,导致奖品剩余总数出现负数的严重bug?
下面介绍使用轻量级开源测试工具Jmeter进行并发测试的方法——巧用集合点。
以总产品数为3,模拟多用户(5个用户)同时进行抽奖并发测试为例,进行介绍。
思路:首先在运营后台配置产品总数为3,其次模拟多用户登陆,最后通过设置集合点的方式,模拟多用户同时进行抽奖并发测试。
下面进行详细介绍。
一、模拟多用户登录
1、准备M个用户登录数据,将数据保存到data.txt文件中,如下所示:
2、将登陆接口参数化
通过添加CSV Data Set Config,将登陆接口参数化。如下图所示:
设置好上述步骤后,再在登陆接口中引用手机号和密码变量:$mobileNo,$passWord,如下图所示:
二、在抽奖接口前设置集合点
性能测试中经常要进行多用户并发测试,但真正的并发是不存在的,为更真实的模拟并发,可以在并发测试的接口前设置集合点。在本次示例中,当所有的虚拟用户登陆之后,都相互等待,然后一起访问抽奖接口。设置集合点的方法如下:
1、在刚刚创建的脚本中,右键点击 线程组---->定时器---->Synchronizing Timer,如下图所示:
2、将抽奖接口移至集合点下,并在集合点中设置多少个用户同时访问
本次示例中,设置为5个用户并发访问,如下图所示:
注意,若设置5个用户并发访问时,需在线程组中设定,用于模拟多用户同时测试的线程数为5个。如果线程数达不到集合点设置的数,JMeter会一直不动,一直在等待达到设定的集合数到来。
添加完成之后,线程组线程数设定,如下所示:
集合点用户数设定如下图:
以上步骤都设置完成后,执行结果,结果展示中,第一个用户抽奖时间为:2016-12-15 08:19:30,如下图:
第二个、第三个用户抽奖时间都为:2016-12-15 08:19:30,如下图所示:
至此,已达到多用户同时抽奖并发测试的目的。
jmeter--集合点
JMeter也有像LR中的集合点,本篇就来介绍下JMeter的集合点如何去实现。JMeter里面的集合点通过添加定时器来完成。注意:集合点的位置一定要在Sample之前. 集合点:简单来理解一下,虽然我们的“性能测试”理解为“... 查看详情
jmeter集合点
一.什么是集合点“性能测试”一般思路是“多用户并发测试”,但真正的并发其实是不存在的,为了更真实、更接近的实现并发,在需要压力的地方设置集合点,等所有用户都到位的时候,然后一起访问,从而实现... 查看详情
jmeter学习集合点
JMeter也有像LR中的集合点,本篇就来介绍下JMeter的集合点如何去实现。JMeter里面的集合点通过添加定时器来完成。注意:集合点的位置一定要在Sample之前. 集合点:简单来理解一下,虽然我们的“性能测试”理解为“... 查看详情
jmeter多用户利用集合点瞬压并发测试
...,我们这里简单模拟多用户同时访问百度。1、首先打开Jmeter,在测试计划下添加线程组。2.在线程组下添加HTTP请求。3.在HTTP请求下添加察看结果数4.在HTTP请求下添加聚合报告5.在线程组下添加集合点,这个时候添加的集合点是在HTTP... 查看详情
jmeter并发测试-设置集合点
场景:要压1000个用户针对于某个接口并发情况,当然这只是个小量并发,有以下两种方案1)考虑线程组设置1000,用户思考时间ramp-up设为02)考虑添加个集合点,集合达到的线程数设置为1000,超时... 查看详情
jmeter学习集合点
JMeter也有像LR中的集合点,本篇就来介绍下JMeter的集合点如何去实现。JMeter里面的集合点通过添加定时器来完成。注意:集合点的位置一定要在Sample之前. 集合点:简单来理解一下,虽然我们的“性能测试”理解为“多用户并... 查看详情
jmeter学习集合点
JMeter也有像LR中的集合点,本篇就来介绍下JMeter的集合点如何去实现。JMeter里面的集合点通过添加定时器来完成。注意:集合点的位置一定要在Sample之前. 集合点:简单来理解一下,虽然我们的“性能测试”理解为“多用户并... 查看详情
jmeter学习笔记——集合点
JMeter也有像LR中的集合点,本篇就来介绍下JMeter的集合点如何去实现。JMeter里面的集合点通过添加定时器来完成。注意:集合点的位置一定要在Sample之前.集合点:简单来理解一下,虽然我们的“性能测试”理解为“多用... 查看详情
jmeter做并发测试(设置集合点)
...达到50的时候,就一起执行。从而达到并发的效果。那么Jmeter中可以通过同步定时器 SynchronizingTimer来完成。 Number ofSimulatedUserstoGroupby:按组分组的模拟用户数。timeoutinmilliseconds:Timout的意思是等待请求多久后... 查看详情
jmeter集合点synchronizingtimer
...虚拟用户都相互之间等一等,然后,一起访问。注意:1.JMeter里面的集合点通过添加定时器来完成。2.Synchronizingtimer仅作用于同一个JVM中的线程。集合点1)启动路径 2)用法 查看详情
jmeter基础—jmeter集合点功能的使用
1、集合点介绍“性能测试”一般思路是“多用户并发测试”,但真正的并发其实是不存在的,为了更真实、更接近的实现并发,在需要压力的地方设置集合点,等所有用户都到位的时候,然后一起访问,... 查看详情
jmeter——集合点
Jmeter的集合点,我将之理解为:为实现多用户的并发测试而设置。当用户运行到一个点后将其拦截下来,等到所有用户都集合到这个点后,再放他们一起运行。一个系统能够承受的并发数或者压力,取决于两个方面:1.取决于业... 查看详情
jmeter并发测试-设置集合点
场景:要压1000个用户针对于某个接口并发情况,当然这只是个小量并发,有以下两种方案1)考虑线程组设置1000,用户思考时间ramp-up设为02)考虑添加个集合点,集合达到的线程数设置为1000,超时... 查看详情
jmeter设置集合点(并发测试)(代码片段)
...请求在不满足条件的时候处于等待状态。如何实现?使用jmeter中的同步计时器SynchronizingTimer来实现集合点的位置因为集合点是在取样器sampler(例如HTTP访问)之前,所以同一节点下的同步定时器也在取样器SynchronizingTimer之前执行... 查看详情
jmeter使用集合点
...试时,能够很好的模拟并发,对系统造成最大的压力。在JMETER中实现在JMETER使用同步定时器来实现,我在循环中加了一个固定的定时器,目的是让人看得清楚,测试确实是3个一组的执行。上图实现的 查看详情
集合点-jmeter
集合点:让所有请求在不满足条件的时候处于等待状态。如:我集合点设置为50,那么不满足50个请求的时候,这些请求都会集合在一起,处于等待状态,当达到50的时候,就一起执行。从而达到并发的效果。添加集合点 注:... 查看详情
jmeter-集合点
...虚拟用户都相互之间等一等,然后,一起访问。注意:1.JMeter里面的集合点通过添加定时器来完成。2.Synchronizingtimer仅作用于同一个JVM中的线程。集合点1)启动路径 2)用法 NumberofSimulatedUserstoGroupby:集合多少人... 查看详情
jmeter之集合点
1、计算公式:线程数= QPS*time注意:QPS--每秒完成请求的个数;time--每个请求响应完成平均需要时间故QPS*time就是所有请求完成响应所需要的总时间,如果需要在一秒内完成所有请求,所以线程数需要等于总时间值 压力测... 查看详情