Jmeter 并发测试中,如何保证请求按照顺序执行

在Jmeter进行并发测试时,经常会出现请求没有按照顺序执行,如下图(进行登录,需要先设置登录公共信息、再获取验证码等)

 

 

 

 

从结果树中可以看到执行顺序并没有按照1-2-3-4,1-2-3-4 去执行

 

为什么会出现这种情况呢?那是因为多线程竞争的原因。多线程执行并发操作,肯定是谁跑得快谁就先执行,线程才不会傻乎乎的的排队。

jmeter自带了一个事物锁控制器。

官方把它定义为线程锁控制器(Critical Section Controller)

意思就是这个锁下面的请求,在相同的时间点只会有一个线程去执行它,也就意味着这个锁下面的事物在相同的时间点会给每个线程分配一个,不会产生竞争。

 

 

 

 

设置了线程锁控制器(Critical Section Controller)后,再次看结果树

 

 

 

 此时就按照顺序执行了

posted @ 2019-10-12 17:11  为什么要取名字  阅读(16692)  评论(2编辑  收藏  举报