Jmeter 杰米。JSR223&x2B;Grovy 2.4.5取样器响应时间退化

Jmeter 杰米。JSR223&x2B;Grovy 2.4.5取样器响应时间退化,jmeter,beanshell,jsr223,Jmeter,Beanshell,Jsr223,(问题由下接) 我正在通过Protobuf协议测试应用程序。最初我使用HTTP采样器,但在将二进制数据保存到字符串时遇到问题。 解决方案是将Beanshell采样器与HTTPClient一起使用,并在正文中使用二进制数据进行POST请求: byte[] data = null; //...assign protobuf binary buffer to data... HttpClient client = new DefaultHttpClient(); HttpPost post = ne

(问题由下接) 我正在通过Protobuf协议测试应用程序。最初我使用HTTP采样器,但在将二进制数据保存到字符串时遇到问题。 解决方案是将Beanshell采样器与HTTPClient一起使用,并在正文中使用二进制数据进行POST请求:

byte[] data = null;
//...assign protobuf binary buffer to data...

HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://127.0.0.1");
HttpEntity entity = new ByteArrayEntity(data);
post.setEntity(entity);
post.setHeader(HttpHeaders.CONTENT_TYPE, "application/octet-stream");
HttpResponse response=null;
try {
    response = client.execute(post);
} catch (ClientProtocolException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

ResponseCode = response.getStatusLine().getStatusCode().toString();
//if some assert is true then
Issuccess = true;
ResponseMessage="Some Response Message";
因为我试图为数千名并发用户提供高负载,所以我开始使用JSR223+Grovy sampler而不是Beanshell samler(受本文影响)

在试验期间,所有JSR223取样器的响应时间都有显著增长:

然后a创建了一个新的测试计划,并用Beanshell采样器(不带重置选项)替换了所有JSR223。图片还行(以相同比例绘制):


因此,如何识别JSR223的错误,或者如何修复它。还有一个问题,为什么每个人都推荐使用JST223+Grovy,而它提供了这样的问题

好的,在本文中建议使用编译缓存键。我没有看到它。现在一切都好了