JMeter脚本-连接超时

问题描述

尝试运行JMeter脚本时收到以下错误。该API在Loadrunner中可以正常工作。 我已经在user.properties中为SSL版本设置了https.default.protocol = TLSv1.2。可能导致以下错误的原因。

org.apache.http.conn.HttpHostConnectException:连接到rXXXXX.XXXX-XXXX.XXXXXX.net:443 [XXXXXX.XXXXXX-XXXXXX.XXXXXX.XXXXXX / 21.60.245.182]失败:连接超时:连接 在org.apache.http.impl.conn.DefaultHttpClientConnectionoperator.connect(DefaultHttpClientConnectionoperator.java:156) 在org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl $ JMeterDefaultHttpClientConnectionoperator.connect(HTTPHC4Impl.java:326)处 在org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:374) 在org.apache.http.impl.execchain.MainClientExec。建立路由(MainClientExec.java:393) 在org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) 在org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) 在org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) 在org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) 在org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) 在org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) 在org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:850) 在org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:561) 在org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:67) 在org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1282) 在org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257) 在java.lang.Thread.run(未知来源) 引起原因:java.net.ConnectException:连接超时:connect

e

解决方法

鉴于您发送了相同的请求,无论使用哪种工具发送请求,都应该获得相同的响应。

如果您得到不同的响应或没有得到响应,那么您发送的不是相同的请求,或者工具配置有所不同。

  1. 最可能的原因可能是proxy,默认情况下,Loadrunner会遵守底层操作系统代理设置,并且在JMeter中,您需要手动配置上游代理连接,有关更多详细信息,请参见Using JMeter behind a proxy文章。

  2. 另一个原因可能是请求配置不正确,即协议/主机/端口/路径不匹配

  3. 最后但并非最不重要的一点,也许您的连接/响应超时太低,请尝试增加它们,相关设置位于HTTP Request采样器的“高级”标签下(甚至更好)为HTTP Request Defaults

    enter image description here

,
  1. 请确保您尝试使用此Jmeter脚本访问的任何端点都不会期望相互SSL验证。

  2. 然后在发出请求之前确保您的令牌是从CA签名的令牌生成器生成的。

  3. 请确保您的连接超时不足以在发出请求后做出响应,并确保该超时大于启动时间段。