【HttpClient连接池耗尽问题排查与解决|线上接口突然大量超时?】
排查了三天,最后发现是连接池没释放。
线上接口突然超时,重启后短暂恢复又复发,这种问题往往指向资源泄漏。HttpClient的连接池耗尽就是常见原因之一——请求完成后连接未正常释放,池中可用连接被逐步耗尽,新请求只能排队等待,直到超时。
排查思路:
✅ 检查 PoolingHttpClientConnectionManager 的 leased 和 available 状态
✅ 确认 evictExpiredConnections 和 evictIdleConnections 是否启用
✅ 定位代码中 CloseableHttpResponse 是否在 finally 块中正确关闭
✅ 开启 log4j 的 wire 日志追踪连接状态变化
解决问题,排查思路往往比最终结论更有价值。👉http://t.cn/AXSOgxxM
#性能优化# #HttpClient# #连接池# #线上故障#
发布于 上海
