【问题标题】:Is there a concurrency penalty with HttpUrlConnection?HttpUrlConnection 是否存在并发惩罚?
【发布时间】:2011-10-12 16:32:19
【问题描述】:

我有一个大容量应用程序,它从文件中读取数据,然后通过 POST 访问内部 API(本地网络),其中包含来自当前文件的 X 条记录。我正在使用 HttpUrlConnection 进行 API 调用。如果没有 API 调用,它运行得非常快,但是一旦我输入 API 调用,它就会变慢很多,并且似乎不能很好地扩展(例如,在 8 个线程时它比在 2 个线程时要快,但每个线程的性能低得多)。

进行一些搜索,似乎底层实现似乎正在做连接池(通常是一个好主意),并根据HttpURLConnection implementation question 使用 ConcurrentHashMap 进行池化。我应该尝试关闭连接池吗?还是增加池的大小?

【问题讨论】:

标签: java network-programming httpurlconnection


【解决方案1】:

并发问题可能出在提供内部 API 的服务器端。 HttpURLConnection 本身没有并发问题,摆弄池等也无济于事。我什至不知道您可以更改池的大小;它更多地由空闲超时 IIRC 控制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-14
    • 2019-10-18
    • 2021-03-22
    • 2019-07-10
    • 2011-07-30
    • 2010-10-07
    • 2015-04-27
    相关资源
    最近更新 更多