【问题标题】:OkHttp do not keep idle connections for keep alive durationOkHttp 不保持空闲连接以保持活动状态
【发布时间】:2020-11-04 17:43:10
【问题描述】:

为什么 OkHttp 在保持活动期间不会在池中保持空闲连接?这导致连接计数来回飙升比实际保持活动持续时间快得多。

只有一台主机只有 1 rps。 maxIdleConnections 设置为 20,keepAlive 设置为 20 分钟。但每次调用的延迟可能会达到 2 秒。

连接数从 1 增加到 3 并不断回升,就像每隔几分钟一样。

【问题讨论】:

    标签: okhttp


    【解决方案1】:

    你配置maxIdleConnections了吗?如果您要访问大量主机,那么 OkHttp 将关闭连接以保持在该限制范围内。

    https://square.github.io/okhttp/4.x/okhttp/okhttp3/-connection-pool/-init-/

    【讨论】:

    • 只有一台主机只有 1 rps。 maxIdleConnections 设置为 20,keepAlive 设置为 20 分钟。不过,每次调用的延迟可能会达到 2 秒。