我们可以在前一个线程在 Jmeter 中完成其请求后添加一个用户线程吗?
我有 10 个用户,想在第一个用户收到回复后添加第二个用户?即第一个用户页面加载需要 400 毫秒,我的第二个用户应该在 400 毫秒后添加。同样对于第三个用户,取决于第二个用户的加载时间?
希望这很清楚!
我们可以在前一个线程在 Jmeter 中完成其请求后添加一个用户线程吗?
我有 10 个用户,想在第一个用户收到回复后添加第二个用户?即第一个用户页面加载需要 400 毫秒,我的第二个用户应该在 400 毫秒后添加。同样对于第三个用户,取决于第二个用户的加载时间?
希望这很清楚!
有点棘手的情况,但可以通过Inter-Thread Communication Plugins实现。
您应该像这样创建测试计划:
TestPlan
- Thread Group
- Sampler
- Communication PreProcessor
- Communication PostProcessor
在 TestPlan 级别,您应该使用 __fifoPut 函数将初始值放入 FIFO。
这将像这样工作:在采样器启动之前,调用 PreProcessor。所有 100 个线程都将阻塞并等待 FIFO 在其中包含一些值。只有一个线程会开始工作,因为 __fifoPut 函数只向 FIFO 中添加了一个值。采样器完成其请求后,将调用 PostProcessor 并将另一个值放入 FIFO。这将解除阻塞另一个线程。等等。
线程解除阻塞的顺序是随机的。如果您需要严格的顺序,您可以使用 FIFO 队列名称,该队列名称按其编号链接线程。