临界部分控制器
在进行压力测试时,需要按照顺序进行压测,比如按照接口1、接口2、接口3、接口4 进行执行
查询结果是很混乱的,如果请求次数少,可能会按照顺序执行,但是随着次数增加,则会越来越不按照顺序执行,从而会导致有些请求出现报错。
因此需要临界部分控制器
将请求加在此控制器下面进行执行,即一直都会按照顺序执行,便不会再出现报错的情况。
存在问题
使用临界部分控制器后,请求执行的顺序确实是按照自定义的顺序执行,但是执行时间远大于接口取样器随机接口执行,或者使用临界部分控制器后吞吐量相当低,也就是服务器所受到的压力远小于随机执行的情况,这是人为的导致性能测试指标错误。
简单来说就是并发请求(线程)这个控制器,会根据锁名称生成一个锁,锁定控制器下的所有子元素,等待所有子元素都执行完后,锁才会进行释放,下一个请求才会继续执行。
把原本的并发请求的并行处理方式,变成了串行处理,导致结果不准确。
把锁名称变成动态的方法有多种:
随机函数
时间戳函数
线程数函数
。。。。。。
把锁名称设为动态值后,当某个线程调用的时候,就会自动生成一个新的锁名称。
这样就解决了临界部分控制器所出现的问题。