Jmeter:如何控制线程组中的http采样器请求在100个线程中只运行一次

Jmeter: How to control a http sampler request in a thread group to run only once among 100 threads

我有一个线程组到 运行 供 100 多个用户使用,因为需要对所有线程只执行一次特定的 http 请求。我知道 "Once only Controller" 但它每个线程执行一次子采样器,这就是为什么它不满足这里的要求:

如图所示:"once only controller" 运行 每个线程仅请求 E 和 F 一次,其中 我对 运行 采样器的要求只为所有线程 A、B、C 和 D 请求一次 E & F。话虽如此,如果我 运行 100+ 线程请求 E & F 应该 运行 只有 1 次。

有没有办法在 jmeter 中实现这个?

问题截图:

没有直接的逻辑控制器可以实现这一点。通常这种类型的要求应该是 setuptear down 线程组的一部分。

如果它必须是您的常规线程组的一部分,则可以通过使用一些解决方法来实现。示例:

Once Only Controller + If Controller:

如果控制器仅在 ${__threadNum} == 1 时才会执行 E & F。这样我们就可以阻止其他线程执行 E & F

将您的请求 EF 放在 If Controller 下并使用以下条件:

${__BeanShell(ctx.getThreadNum() == 0 && vars.getIteration() == 1)}

其中: