1、没有处理线程执行顺序时,多个线程里的请求是一起执行的,不分先后。(未勾选独立线程运行结果)
2、在测试计划里勾选独立运行每个线程组。(测试计划处勾选独立运行每个线程组)
3、勾选完后再次执行,发现线程按照正常顺序执行。(勾选独立运行线程后的结果),在Jmeter进行并发测试时,经常会出现请求没有按照顺序执行
4、为什么会出现这种情况呢?那是因为多线程竞争的原因。多线程执行并发操作,肯定是谁跑得快谁就先执行,线程才不会傻乎乎的的排队。
5、jmeter自带了一个事物锁控制器。
6、官方把它定义为线程锁控制器(Critical Section Controller),位置在添加-逻辑控制器-Critical Section Controller里面
7、意思就是这个锁下面的请求,在相同的时间点只会有一个线程去执行它,也就意味着这个锁下面的事物在相同的时间点会给每个线程分配一个,不会产生竞争。
8、设置了线程锁控制器(Critical Section Controller)后,再次看结果树
9、 此时就可以按照顺序执行了。