我正在使用线程间通信插件来共享两个线程组之间的数据。
TG-1:生成ID -〉将其存储在队列名称Q1中TG-2:从队列中选择ID-〉执行处理
在TG-1的运行持续时间完成一段时间后,它停止处理或将ID存储到Q1中。TG-2处理了队列中的所有数据,并继续等待Q1中的新数据。但是Q1将没有任何数据。我的期望是TG-2的运行持续时间也结束时。TG-2应该完成其作业并退出。为什么TG-2继续等待Q1中的数据?这将导致耗尽堆空间,并且测试永不停止。这将导致严重问题。
为了防止这种情况,我试着在www.example.com文件中添加kg.apc.jmeter.functions.FifoTimeout=120
user.properties,正如Dmitri T在我之前的一个问题中所建议的那样。但是这个属性没有生效。有没有其他人也经历过这个插件的同样事情?还有什么选择?
1条答案
按热度按时间wecizke31#
我们没有足够的心灵感应能力来猜测你的设置是什么,你正在使用线程间通信插件的哪些确切组件,以及它们是如何配置的。
如果您使用的是函数-
__fifoPop()
函数的超时功能运行良好,只需确保在修改属性后重新启动JMeter。如果队列为空,__fifoGet()
函数将返回空值如果使用jp@gc -线程间通信预处理器-可以直接在GUI中指定超时
此外,始终可以通过流量控制操作采样器停止测试