perf:http连接池优化

This commit is contained in:
Zhujx
2025-10-03 16:22:40 +08:00
parent 99e5beb69a
commit f1cc281b2f

View File

@@ -26,11 +26,15 @@ import java.util.concurrent.TimeUnit;
@Slf4j
public class HttpUtils {
private static final int socketTimeOut = 5000;
private static final int socketTimeOut = 10000;
private static final int connectTimeout = 10000;
private static final int connectionRequestTimeout = 3000;
private static final int defaultMaxPerRoute = 20;
private static final int maxTotal = 100;
private static final int defaultMaxPerRoute = 100;
private static final int maxTotal = 200;
private static final int LIVE_TIME = 5000;
private static final int ALIVE_STRATEGY = 30000;
private static final RequestConfig requestConfig = RequestConfig.custom()
.setConnectTimeout(connectTimeout)
@@ -48,12 +52,15 @@ public class HttpUtils {
connectionManager.setMaxTotal(maxTotal);
// 每个主机的最大连接数
connectionManager.setDefaultMaxPerRoute(defaultMaxPerRoute);
connectionManager.setValidateAfterInactivity(LIVE_TIME);
httpClient = HttpClients.custom()
.setConnectionManager(connectionManager)
.setDefaultRequestConfig(requestConfig)
// 清理空闲连接
.evictIdleConnections(30, TimeUnit.SECONDS)
.setKeepAliveStrategy((response, context) -> ALIVE_STRATEGY)
.build();
}