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

org.apache.http.NoHttpResponseException:服务器地址:80无法响应-JMeter

杜哲彦
2023-03-14

我正在web应用程序上使用JMeter5.2运行负载测试。当我运行线程组时,即使使用超过500个线程,我也会在用户中配置jmeter:in。我设置的属性:httpclient4.retrycount=1

hc.parameters.file=hc.parameters

在hc.parameters中,我设置了:

http . connection . stale check $ Boolean = true

在Http请求中:客户端实现

 org.apache.http.NoHttpResponseException: server-address:80 failed to respond
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:141)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
        at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
        at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
        at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157)
        at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
        at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
        at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:850)
        at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:561)
        at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:67)
        at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1282)
        at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1271)
        at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:627)
        at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:551)
        at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:490)
        at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)
        at java.lang.Thread.run(Unknown Source)

知道如何解决这个问题吗!

共有1个答案

夏侯彬郁
2023-03-14

很可能您的应用程序过载了,因此它不能处理500个并发连接,您需要检查以下内容:

  1. 您的应用程序服务器配置,即增加最大传入连接数
  2. 您的后端健康状况在CPU、RAM、可用网络套接字等方面,可以使用JMeter PERMon插件完成
  3. 您的应用程序配置(连接池、数据库配置等),因为它可能没有针对高负载进行适当调整
 类似资料:
  • 问题内容: 我正在使用apache http客户端来测试我的WS。我已经在球衣上写了一个WS。该WS的URL是 用URL调用这个WS我写了一个方法如下 现在,当我运行程序并将URL传递给此函数时,我在行中得到了异常 异常如下 现在,如果我使用WS网址并使用任何浏览器访问它,我都会得到预期的结果,但我想知道我的Apache HTTP客户端代码出了什么问题。 问题答案: 我从这里浏览了链接,并得到以下

  • 建议的解决方案之一是注意在端口80(netstat-ano)上运行的PID,将其关闭并启动Apache,这已经为许多其他人解决了问题。但对我来说,Apache本身运行在端口80上,当我启动服务时,我会得到套接字不可用错误。我试着把端口改成8080或其他,但没有运气。请告诉我我错在哪里? 准确错误消息: C:\Program Files(x86)\Apache Software Foundation

  • 问题内容: 我正在尝试使用http客户端通过为单个主机设置最大连接来访问服务器 HttpParams httpParam = httpclient.getParams(); HttpConnectionParams.setSoTimeout(httpParam,SOCKET_TIMEOUT); 那就是我们使用连接池来实现http持久性。 我们偶尔会收到此错误: 有谁知道如何解决这个问题? 我们也将

  • 我正在尝试上传一个xml文件。当使用MultipartEntityBuilder将二进制格式的文件添加到HttpEntity时,我收到以下错误 我已经通过了链接 https://www.baeldung.com/httpclient-multipart-upload 我的理解是,该文件不被接受,因为http实体无法发送MultipartEntityBuilder,但我可能错了。

  • 我正在尝试创建一个todo-list应用程序,并在每种类型的请求上与邮递员进行检查。GET和POST请求工作正常。但PUT和DELETE没有按预期工作。 正如预期的意思:它不显示404,也不显示结果,而是显示一个错误,即不能得到任何响应。 下面是我的put和delete代码: 现在,我不知道是不是虫子什么的。

  • 问题内容: 我知道我可以在tomcat服务器的context.xml中添加一个Valve来允许或拒绝一些IP地址: 除了上述配置外, 还有其他可以配置IP限制的方法吗? 例如,我可以使用文本文件或数据库存储IP地址以提出IP限制建议吗? 非常感谢你!!! 问题答案: 您可以动态注册Tomcat的远程地址过滤器。 http://tomcat.apache.org/tomcat-7.0-doc/con