gpt4 book ai didi

java - 如何为 JMeter 中的所有线程创建一个 Java 对象?

转载 作者:行者123 更新时间:2023-12-01 18:00:39 24 4
gpt4 key购买 nike

我正在尝试对 Azure 进行负载测试,为此,我需要创建一个“EH 客户端”对象。我希望这个对象可以被所有线程重用,否则负载测试会慢很多。我遇到了以下问题:

根据我对 JMeter 的了解,我相信我能做到这一点的唯一方法是通过 props,而不是变量。然而,我发现关于将普通 Java 对象作为 props 传递的文档和支持有限,甚至听说它是 discouarged.

我不确定将 JSR223 Sampler(它在 Beanshell 引擎上使用 Java)放置在哪里才能实现此目的。理想情况下,我希望它位于我的主线程组之外,但这样做似乎不起作用,因为任何访问该对象的尝试都会失败。

TL;DR:我想使用 JRS223 Sampler 创建一个 Java 对象,该对象可供我的所有线程使用。

最佳答案

只要你不迭代属性 values()考虑到它们都是字符串 - 你应该很好地将你的对象保存到 JMeter 的 props 速记中。

如果你想使用 Beanshell - 有 bsh.shared namespace它可用于在线程/线程组之间共享对象。

但是,如果您也想避免这种情况,您可以使用 ObjectOutputStream将您的对象保存到 setUp Thread Group 中某处的文件中并以“正常”读回 Thread Group (s)。请参阅How to read and write Java object to a file文章了解更多详细信息。

仅一个提示:don't use Beanshell, since JMeter 3.1 it's recommended to use Groovy language for scripting java 语言在底层使用 Beanshell 解释器。

关于java - 如何为 JMeter 中的所有线程创建一个 Java 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60638706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com