简体   繁体   English

请求超时 - JMeter HTTP2 插件

[英]Request Timeout - JMeter HTTP2 Plugin

I'm using the HTTP2 Sampler by Blazemeter, which officially provided by JMeter Plugin Manager.我正在使用 Blazemeter 的 HTTP2 采样器,它由 JMeter 插件管理器官方提供。

At their repo, there are some steps to be made: https://github.com/Blazemeter/jmeter-http2-plugin在他们的仓库中,需要执行一些步骤: https://github.com/Blazemeter/jmeter-http2-plugin

I applied everyone of that required steps on my mac (I also paid attention to the Mac-specific details).我在我的 Mac 上应用了所有必需的步骤(我还注意了 Mac 特定的细节)。 After successfully integrating it, I tried to make a HTTP2 Call to my local HTTP2 REST Service.成功集成后,我尝试对本地 HTTP2 REST 服务进行 HTTP2 调用。 After trying that, it stays on the loop and nothing happens.在尝试之后,它保持在循环中并且没有任何反应。 No error, no warning, just the timeout error after I stop the request.没有错误,没有警告,只是我停止请求后的超时错误。

Here is my sampler result:这是我的采样器结果:

Thread Name:Thread Group 1-1
Sample Start:2020-07-30 20:03:53 CEST
Load time:0
Connect Time:110
Latency:0
Size in bytes:928
Sent bytes:0
Headers size in bytes:0
Body size in bytes:928
Sample Count:1
Error Count:1
Data type ("text"|"bin"|""):text
Response code:java.util.concurrent.TimeoutException
Response message:null


HTTP2SampleResult fields:
ContentType: 
DataEncoding: ISO-8859-1

Here is the response after stopping the request:这是停止请求后的响应:

java.util.concurrent.TimeoutException
    at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1957)
    at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2092)
    at com.blazemeter.jmeter.http2.sampler.HTTP2Connection.awaitResponses(HTTP2Connection.java:171)
    at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:221)
    at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:145)
    at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:121)
    at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:630)
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558)
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256)
    at java.base/java.lang.Thread.run(Thread.java:830)

I tried nearly everything out and also got to this Stackoverflow question regarding to jetty incompatibilities of the newer version.我几乎尝试了所有方法,还得到了关于新版本的码头不兼容性的Stackoverflow 问题

HTTP1 requests still work, but the HTTP2 requests are reaching the server, but never handle anything. HTTP1 请求仍然有效,但 HTTP2 请求正在到达服务器,但从未处理任何事情。 I tested also some public HTTP2 sites which also couldn't be reached by JMeter.我还测试了 JMeter 也无法访问的一些公共 HTTP2 站点。 In addition to that, a simple HTTP2 Request via Curl worked.除此之外,通过 Curl 的简单 HTTP2 请求也有效。 So there is no problem with my server.所以我的服务器没有问题。 There is definently something wrong with the HTTP2 JMeter plugin and I have no idea why. HTTP2 JMeter 插件肯定有问题,我不知道为什么。

Pls hlp._.请帮助._。

Try to increase HEAP size to not less than 5Gb and set-up time-out in HTTP2 Request Manager.尝试将 HEAP 大小增加到不小于 5Gb 并在 HTTP2 请求管理器中设置超时。 After all above were done, my exception was gone.完成以上所有操作后,我的异常就消失了。

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

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