繁体   English   中英

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

[英]How do I create one Java object for all threads in JMeter?

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

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

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

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

只要您不考虑所有字符串来迭代 Properties values() - 您应该很好地将您的 Object 保存到 JMeter 的props速记中。

如果您想使用 Beanshell - 有bsh.shared命名空间可用于在线程/线程组之间共享对象。

但是,如果您也想避免这种情况,您可以使用ObjectOutputStream将您的对象保存到setUp 线程组中某处的文件中,并在“正常” 线程组中读取它。 有关更多详细信息,请参阅如何将 Java 对象读取和写入文件一文。

只是一个提示: 不要使用 Beanshell,因为 JMeter 3.1 建议使用 Groovy 语言进行脚本编写,java语言在底层使用 Beanshell 解释器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM