当前位置: 首页 > 知识库问答 >
问题:

JMeter.JSR223+Grovy 2.4.5采样器响应时间降低

丁雅逸
2023-03-14

(问题从Jmeter protobuf测试中继续。无法读取protobuf消息)我正在通过protobuf协议测试应用程序。最初我使用HTTP采样器,但在将二进制数据保存为字符串时遇到了问题。解决方案是将Beanshell采样器与HTTPClient一起使用,并将Body:

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(受本文html" target="_blank">https://blazemeter.com/blog/beanshell-vs-jsr223-vs-java-jmeter-scripting-its-performance的影响)

然后a创建了一个新的testplan,并且刚刚用Beanshell采样器替换了所有的JSR223(没有reset选项)。图片还可以(相同比例的图):

所以如何识别JSR223的错误或者修复它。另一个问题是,当JST223+Grovy提供了这样的问题时,为什么大家都建议使用它?

共有1个答案

壤驷承
2023-03-14

好的,在这篇文章中重新组合使用了编译缓存键。我没见过。现在一切都好了。

 类似资料:
  • 我想将一些功能测试集成到使用JMeter的性能测试中。并且如果我使用JUnit采样器,在启动浏览器并在浏览器中执行一些操作(单击、输入文本)的情况下运行测试,那么我将在JMeter侦听器中得到的是:包括浏览器速度在内的响应时间还是只有服务器响应时间而不执行浏览器? 我在JMeter中所做的事情:当我添加JUnit采样器并打开测试的导出jar文件并运行它时,测试与通常的Web驱动程序测试一样执行,包

  • 2.17 响应时间(边缘) 2.17.1 描述 返回5分钟颗粒度的状态码明细数据,主要返回时间戳、省份、运营商、HIT/MISS、状态码、响应时间、请求数 2.17.2 请求地址 地址: https://api.bokecs.com/channel/responseTime?time={time}domain={domain} 2.17.3 请求方式 GET 2.17.4 请求参数 参数名称 是否

  • 我使用JMeter Webdriver采样器来测量应用程序UI响应时间。我正面临等待功能的问题。例如,登录页面的加载时间在10到120秒之间。因此,我有以下代码用于Webdriver sampler中的登录页面,以进行页面加载检查。 问题是即使在页面完全加载之后,JMeter仍然在等待执行下一个操作。如果我减少120秒,等待时间就会减少,但有时应用程序加载也需要120秒,所以我需要保持120秒。

  • prometheus指标采样api接口的响应时间是主动推数据吗? 一般情况是服务器暴露一个exporter,prometheus会定时来采集数据。 像api的响应时间这种和cpu,内存这种硬指标不太一样,api有各种各样的,是在一个api处理完成时计算出时间,然后主动推送到prometheus里面吗?

  • 问题内容: 我遇到了一种情况,在这种情况下,我需要验证其中一个值的前一采样器的响应,如果该值是[],则需要触发以下请求,否则请切换到另一个采样器。 样本响应:{“ id”:8,“ merchant_id”:“ 39”,“ title”:“ Shirts-XtraLarge”,“ subtitle”:null,“ price”:110,“ description”:null,“ images”: “

  • 当使用轮询发出ZeroMQ请求时,我得到了无法解释的结果。 由-方法占用的时间受到代码中其他地方的的影响。 我有一个服务器进程,它运行一个命令,并返回进程的。这是请求端代码,它有以下问题: 第一次轮询经过的时间变化很大,但所有后续轮询所用的时间都比睡眠时间少约2秒,除非睡眠时间为0,在这种情况下,睡眠时间很快,因此: : : : 所以问题是,为什么会影响ZeroMQ花费的时间?