全部產品
Search
文件中心

Alibaba Cloud SDK:HTTP串連池配置

更新時間:Oct 16, 2025

高並發Web服務、頻繁API調用、分布式系統通訊等情境,使用HTTP串連池減少延遲,最佳化資源,提高響應速度和系統穩定性。本文為您介紹Java(非同步)SDK對於HTTP串連池的配置。

在SDK中,所有非同步HTTP請求均由PoolingAsyncClientConnectionManager統一管理,其預設的串連池參數配置如下:

配置參數

說明

maxConnections

串連池大小,預設值128。

maxConnectionsPerRoute

設定每路由最大串連數,預設值128。

maxIdleTimeOut

設定串連在串連池中的最大空閑時間,預設30000毫秒。

keepAlive

串連的空閑存活時間,預設值20000毫秒。

connectRequestTimeout

擷取串連的逾時時間,預設值30000毫秒。

如上述預設配置不符合您的業務情境,您可以重新設定相關參數以調整串連池設定。例如,在高並發情境下,可以適當提高maxConnections、maxConnectionsPerRoute及connectRequestTimeout的值。

範例程式碼如下:

HttpClient httpClient = new ApacheAsyncHttpClientBuilder()
        .maxConnections(10) // 設定串連池大小,預設值128。
        .maxConnectionsPerRoute(10) // 設定每路由最大串連數,預設值128。
        .maxIdleTimeOut(Duration.ofMillis(20000)) // 設定串連在串連池中的最大空閑時間,預設30000毫秒。
        .keepAlive(Duration.ofMillis(5000)) // 串連的空閑存活時間,預設值20000毫秒。
        .connectRequestTimeout(Duration.ofMillis(5000)) // 擷取串連的逾時時間,預設值30000毫秒。
        .build();
        
AsyncClient client = AsyncClient.builder()
        .httpClient(httpClient)
        .credentialsProvider(credentialProvider) // 本樣本省略credentialProvider實現過程...
        .build();