【问题标题】:too many open sockets with HttpClient?使用 HttpClient 的打开的套接字太多?
【发布时间】:2012-10-22 19:08:53
【问题描述】:

我在 http-client 4.2.1 的客户端中有以下代码

    PoolingClientConnectionManager mgr = new PoolingClientConnectionManager();
    mgr.setMaxTotal(20);
    HttpClient httpclient = new DefaultHttpClient(mgr);

然后我试一试...最后在每次发帖后调用 httpPost.reset。

由于某种原因,我看到程序占用了到我的服务器的 110 个 ESTABLISHED http 连接,并在 CLOSE_WAIT(不是 TIMED_WAIT)中占用了 235 个连接。

我做错了什么?这周围有错误吗?最大连接数应该是 20 还是我弄错了?

谢谢, 院长

【问题讨论】:

    标签: httpclient apache-httpclient-4.x


    【解决方案1】:

    好吧,没关系....有人在代码中创建了很多 DefaultHttpClient,我错过了。它现在似乎正在工作,但现在它不断为同一主机(同一主机上的不同 url)创建新的套接字,导致吞吐量非常缓慢的性能噩梦:(....grrrrrr.

    【讨论】:

      猜你喜欢
      • 2010-10-27
      • 1970-01-01
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多