哪一个是高效的:我的脚本的Java Request,JSR223或BeanShell Sampler

时间:2017-08-29 08:48:38

标签: jmeter

我想发送一个内置HTTP采样器无法实现的字节数组。

继续使用BeanShell采样器。

但我发现有一些时间滞后于BeanShell Sampler

在我的代码中,我将一个硬编码的字节数组发送到Web服务端点。

enter image description here

是否有更好的方法,如Java Request或JSR223,其执行时间小于beanshell sampler

2 个答案:

答案 0 :(得分:1)

使用JSR223 Sampler语言并且Groovy启用良好的Compilation Cache feature将比Beanshell更快,内存占用更少。切记不要在Groovy脚本体中直接以${var}的形式引用JMeter函数或变量。

Java Request采样器将是最快的,但是更难以进行更改,因为您必须重新编译代码,将其放到JMeter Classpath并重新启动JMeter,即使是微不足道的更改。

更多信息:Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For!

特别是在您的情况下,您可以使用HTTP Raw Request而不是脚本。

答案 1 :(得分:1)

您应该能够在HTTP请求采样器中启用Use multipart/form-data,然后将您的阵列作为参数发送。

您可以使用Beanshell将byte []存储在变量中:

byte[] arr = new byte[] {...};
vars.putObject("myByteArray", arr);

之后只需像往常一样引用变量$ {myByteArray}。