Jmeter从同时执行的多个线程组将数据写入excel工作表

时间:2018-07-02 13:09:05

标签: jmeter

我有一个excel文件,它的每一行都包含形成JMeter的HTTP请求所需的参数。 JMeter测试计划有2个线程组,这些线程组同时运行。每个线程组都考虑从excel文件的行中读取参数并发送HTTP请求,然后将响应写回到excel文件,但是在这些多个线程组中,只有单个线程组能够写入,其他无法做到这一点。任何人都可以提出建议为什么会这样。 (JMeter日志中没有与并发文件访问相关的任何例外。)

1 个答案:

答案 0 :(得分:0)

从多个线程写入同一个文件不是最好的主意,因为您可能会遇到race condition。因此,请避免使用多个线程来执行此操作,除非写入逻辑在Critical Section Controller下,但是这可能会对您的测试吞吐量产生负面影响,因为一次只能有1个线程可以写入文件。

更好的解决方案是使用内存中方法将值从一个组传递到另一组,从而无需任何临时文件。您可以使用__setProperty() function来定义第一线程组中的属性,并使用__P() function来读取第二线程组中的值。

如果同时运行线程组,则可以使用Inter-Thread Communication Plugin在线程组之间传递值,请查看SynchronizationExample.jmx测试计划以了解示例实现。

您可以使用JMeter Plugins Manager安装线程间通信插件。