JMeter中是否有更多线程安全变量可用于get()和set()变量?

JMeter中是否有更多线程安全变量可用于get()和set()变量?,jmeter,load-testing,Jmeter,Load Testing,对于更大的负载,我注意到2个或更多线程设置了完全相同的变量值,从而导致使用所述值的后续请求失败。我使用的是JSR223后处理器,其中包含以下代码: URL url = new URL(vars.get("response_url")); String path = url.getFile(); vars.put("request_path", path); 在检查请求时,我看到有时一个线程将“request_path”设置为“example1”,而另一个线程将该变量设置为完全相同的值。我不想减

对于更大的负载,我注意到2个或更多线程设置了完全相同的变量值,从而导致使用所述值的后续请求失败。我使用的是JSR223后处理器,其中包含以下代码:

URL url = new URL(vars.get("response_url"));
String path = url.getFile();
vars.put("request_path", path);
在检查请求时,我看到有时一个线程将“request_path”设置为“example1”,而另一个线程将该变量设置为完全相同的值。我不想减少线程数或增加时间;这不是一个选择


在JMeter中获取/设置变量时,是否有比“vars”更安全的线程变量?或者有其他方法可以防止这种情况发生吗?

Vars特定于1个线程(因此这里不需要线程安全性),所以在core jmeter中,您描述的事情不会发生

如果第三方插件出现这种情况,您应该向项目报告一个bug

当问题发生时,尝试进行线程转储,以查看正在发生的情况,如vars代表类实例的文章所述,该类实例反过来属于

如果查看类源代码,您将看到JMeterContext被声明为,并暗示其他线程无法访问这些变量


因此,我建议检查这个
${response\u url}
是从哪里来的,因为问题很可能与使用Groovy代码中的
vars
速记无关(您是,不是?

您好,有关于答案的反馈吗?如果确定,请接受并投票,以便其他用户可以信任它,谢谢