【问题标题】:HttpClient time-out slow under stress压力下HttpClient超时缓慢
【发布时间】:2011-05-01 23:52:08
【问题描述】:

我正在使用 HttpClient 3.1 连接到不同的 Web 服务。我已将 SO_TIMEOUT 和 ConnectionTimeout 设置为 3 秒。我正在模拟一个响应时间超过 3 秒的服务。但是,实际超时时间要长得多,最多几分钟甚至更长。最后,服务器内存不足,卡住了。

发生了什么事?为什么我的连接没有及时超时?

【问题讨论】:

  • 看来我一直在单线程模式下使用 HttpClient。在我更改代码以使用 MultiThreadedHttpConnectionManager 并增加连接数后,它开始按预期工作。之前,它似乎是在序列化调用。

标签: java http timeout httpclient


【解决方案1】:

嗯,这是“初级”。我们没有使用MultiThreadedHttpConnectionManager,所以所有请求都被序列化了......

【讨论】:

    【解决方案2】:

    SO_TIMEOUT 仅在 HTTP 连接处于非活动状态时才会启动。你确定,你的连接是空闲的吗?或者您的服务器正在发送任何分块响应?

    【讨论】:

      猜你喜欢
      • 2011-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-09
      • 2012-03-10
      • 1970-01-01
      • 2018-09-07
      • 2011-10-09
      相关资源
      最近更新 更多