perf:http连接池优化
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user