1、在性能测试工具:loadrunner和jmeter都有集合点的设置,locust当然也有集合点的设置
2、什么是集合点:
比如想完全并发1000个用户提交订单的 *** 作,如果不设置集合点的情况下,前面500个用户可能先登录成功后就去提交订单了,而后面的500个用户还在登录中,这样就没法完全达到1000个用户同时去提交订单
设置集合点后,前面500个登录完成后不进行提交订单 *** 作,直接等待到1000个用户都登录成功后,1000个人同时去提交订单 *** 作
运行设置20个用户并发
查看输出日志:
可看出20个用户全部都登录完成后才开始执行任务
另:在一般性能测试中需不需要设置集合点呢:
如果是对一些业务场景进行压力测试、稳定性测试时,可以不必设置集合点。如果想验证单独某一个接口对大并发的处理能力时,设置集合点就很有必要了。
jmeter 中使用同步定时器 Synchronizing Timer实现 LoadRunner 中集合点的功能。
模拟多用户并发测试,即多个线程在同一时刻并发请求。
在未使用同步定时器 Synchronizing Timer时
添加-线程组。
添加-取样器-http请求
添加-监听器-用表格查看结果。
将设置线程数为5,可以看出发出的5个请求并未在同一时间开始。
通过使用同步定时器 Synchronizing Timer,可以帮助我们实现并发请求。
添加-定时器-Synchronizing Timer
同步定时器页面参数配置说明:
模拟用户组的数量(Number of Simulated Users to Group by) :就是并发数,集合多少请求后一起发出去。
超时时间以毫秒为单位(Timeout in milliseconds) :指定人数多少秒没集合到算超时,默认为0,会一直等。如果设置1000毫秒的,在1000毫秒内没有凑齐并发数,就会发出去。
可以看到有3个请求是同时发出去的(不会绝对,只会更接近3个),剩下的两个请求没有等到3个,在超过设置的1000ms后同时发出。
你的要求是可以满足的。你可以设置任意的并发数来设置的。
在场景里面,找到集合点的设置页面,其中有好几个选项,你可以任意选择一个方法
1.可以设置百分比,比如40%,那意思就是到达这里的用户达到40%*50=20个的时候,就开始并发,不等后面的了。
2.可以设置具体的用户数,比如20个,并发的用户数到达20个的时候,就开始并发执行了
3.还有一个好像可以设置到达后等待时间,到达后等待多少秒,然后就并发,记不清了
你这点小要求肯定可以满足的,LR很强大
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)