

 適用於 Java 的 AWS SDK 1.x 已於 2025 年 12 月 31 日end-of-support。我們建議您遷移至 [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html)，以繼續接收新功能、可用性改善和安全性更新。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 客戶端組態
<a name="section-client-configuration"></a>

 適用於 Java 的 AWS SDK 可讓您變更預設用戶端組態，當您想要：
+ 透過代理連線到網際網路
+ 變更 HTTP 傳輸設定，例如連線逾時和請求重試
+ 指定 TCP 通訊端緩衝區大小提示

## 代理組態
<a name="proxy-configuration"></a>

建構用戶端物件時，您可以傳入選用的 [ClientConfiguration](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/ClientConfiguration.html) 物件，以自訂用戶端的組態。

如果您透過代理伺服器連線至網際網路，則需要透過 `ClientConfiguration` 物件設定代理伺服器設定 （代理主機、連接埠和使用者名稱/密碼）。

## HTTP 傳輸組態
<a name="http-transport-configuration"></a>

您可以使用 [ClientConfiguration](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/ClientConfiguration.html) 物件來設定數個 HTTP 傳輸選項。系統偶爾會新增新選項；若要查看您可以擷取或設定的完整選項清單，請參閱 適用於 Java 的 AWS SDK API 參考。

**注意**  
每個可設定的值都有一個由常數定義的預設值。如需 的恆定值清單`ClientConfiguration`，請參閱 適用於 Java 的 AWS SDK API 參考中的[恆定欄位值](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/constant-values.html)。

### 連線數上限
<a name="maximum-connections"></a>

您可以使用 [ClientConfiguration.setMaxConnections](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/ClientConfiguration.html#setMaxConnections-int-) 方法來設定允許的開放 HTTP 連線數目上限。

**重要**  
設定連線數上限到並行交易，避免連線失敗和效能不佳。如需預設的最大連線值，請參閱 適用於 Java 的 AWS SDK API 參考中的[恆定欄位值](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/constant-values.html)。

### 逾時和錯誤處理
<a name="timeouts-and-error-handling"></a>

您可以設定與逾時和使用 HTTP 連線處理錯誤相關的選項。
+  **連線逾時** 

  連線逾時是 HTTP 連線在放棄之前等待建立連線的時間量 （以毫秒為單位）。預設值為 10，000 毫秒。

  若要自行設定此值，請使用 [ClientConfiguration.setConnectionTimeout](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/ClientConfiguration.html#setConnectionTimeout-int-) 方法。
+  **連線存留時間 (TTL)** 

  根據預設，軟體開發套件會盡可能嘗試重複使用 HTTP 連線。在與已停止服務的伺服器建立連線的失敗情況下，具有有限的 TTL 有助於應用程式復原。例如，設定 15 分鐘的 TTL 可確保即使您已建立與遇到問題的伺服器的連線，您也會在 15 分鐘內重新建立與新伺服器的連線。

  若要設定 HTTP 連線 TTL，請使用 [ClientConfiguration.setConnectionTTL](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/ClientConfiguration.html#setConnectionTTL-long-) 方法。
+  **錯誤重試次數上限** 

  可重試錯誤的預設重試計數上限為 3。您可以使用 [ClientConfiguration.setMaxErrorRetry](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/ClientConfiguration.html#setMaxErrorRetry-int-) 方法設定不同的值。

### 本機地址
<a name="local-address"></a>

若要設定 HTTP 用戶端將繫結的本機地址，請使用 [ClientConfiguration.setLocalAddress](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/ClientConfiguration.html#setLocalAddress-java.net.InetAddress-)。

## TCP Socket 緩衝區大小提示
<a name="tcp-socket-buffer-size-hints"></a>

想要調整低階 TCP 參數的進階使用者可以透過 [ClientConfiguration](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/ClientConfiguration.html) 物件額外設定 TCP 緩衝區大小提示。大多數使用者永遠不需要調整這些值，但會提供給進階使用者。

應用程式的最佳 TCP 緩衝區大小高度取決於網路和作業系統組態和功能。例如，大多數現代作業系統為 TCP 緩衝區大小提供自動調整邏輯。這可能會對 TCP 連線的效能產生重大影響，而 TCP 連線的開放時間足以讓自動調整最佳化緩衝區大小。

大型緩衝區大小 （例如 2 MB) 可讓作業系統緩衝記憶體中的更多資料，而不需要遠端伺服器確認收到該資訊，因此在網路具有高延遲時特別有用。

這只是*一個提示*，作業系統可能不會遵守它。使用此選項時，使用者應一律檢查作業系統的已設定限制和預設值。大多數作業系統已設定 TCP 緩衝區大小上限，除非您明確提高 TCP 緩衝區大小上限，否則不會讓您超過該限制。

許多資源可協助您設定 TCP 緩衝區大小和作業系統特定的 TCP 設定，包括下列項目：
+  [主機調校](http://fasterdata.es.net/host-tuning/) 