本文介绍为什么脚本中设置了Once Only Controller,压测的时候还是会重复发请求。
问题现象
如果您在本地JMeter脚本中配置了一个线程组,并在其内部配置了仅一次控制器(Once Only Controller),但是将脚本上传至PTS的JMeter压测后,线程组的请求还是会循环重复执行。如下图所示。
![once_only_controller](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/5447258951/p101714.png)
可能原因
因为PTS中增加了可调速及设置非固定量级施压的功能,会改变原生的Thread Group设置,使得JMeter脚本中Once Only Controller的配置不生效。此外,如果JMeter脚本中只有一个可执行的Once Only Controller,则用PTS进行压测和脚本在本地调试并无区别,达不到性能测试的目的。
解决办法
请在同一个线程组中,保证除Once Only Controller外,仍有其他生效的Sampler,这样Once Only Controller中的内容只会执行一次,而其余的Sampler会根据配置循环执行。
![once_only_controller2](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/5447258951/p101723.png)
该文章对您有帮助吗?