From f1cc281b2f3cbbd81c0a7d8517ebdf63e3b24585 Mon Sep 17 00:00:00 2001 From: Zhujx Date: Fri, 3 Oct 2025 16:22:40 +0800 Subject: [PATCH] =?UTF-8?q?perf:http=E8=BF=9E=E6=8E=A5=E6=B1=A0=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xiang/xservice/basic/utils/HttpUtils.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/xservice-common/src/main/java/com/xiang/xservice/basic/utils/HttpUtils.java b/xservice-common/src/main/java/com/xiang/xservice/basic/utils/HttpUtils.java index f428332..60399d9 100644 --- a/xservice-common/src/main/java/com/xiang/xservice/basic/utils/HttpUtils.java +++ b/xservice-common/src/main/java/com/xiang/xservice/basic/utils/HttpUtils.java @@ -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(); }