我們宣布
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
客戶端組態
AWS SDK for Java 可讓您變更預設用戶端組態,這在您想要執行下列作業時很有幫助:
-
透過代理伺服器 Connect 網際網路
-
變更 HTTP 傳輸設定,例如連線逾時和要求重試
-
指定 TCP 通訊端緩衝區大小提示
代理組態
構建客戶端對象時,您可以傳入可選ClientConfiguration對象以自定義客戶端的配置。
如果您透過 Proxy 伺服器連線到網際網路,您需要透過物件設定 Proxy 伺服器設定 (Proxy 主機、連接埠和使用者名稱/密碼)。ClientConfiguration
傳輸組態
您可以使用ClientConfiguration物件來設定數個 HTTP 傳輸選項。偶爾會新增新選項;若要查看可擷取或設定的完整選項清單,請參閱 AWS SDK for Java API 參考。
注意
每個可設定值都有一個由常數定義的預設值。如需的常數值清單ClientConfiguration
,請參閱 AWS SDK for Java API 參考中的常數欄位值。
連線數上限
您可以使用設定允許的開啟 HTTP 連線數目上限ClientConfiguration。 setMaxConnections方法。
重要
設定連線數上限到並行交易,避免連線失敗和效能不佳。有關默認最大連接值,請參閱 AWS SDK for Java API 參考中的常量字段值。
逾時和錯誤處理
您可以設定與 HTTP 連線的逾時和處理錯誤相關的選項。
-
連線逾時
連線逾時是 HTTP 連線在放棄之前等待建立連線的時間量 (以毫秒為單位)。預設值為 10,000 毫秒。
若要自行設定此值,請使用 ClientConfiguration. setConnectionTimeout方法。
-
即時連線時間 (TTL)
根據預設,SDK 會盡可能長時間嘗試重複使用 HTTP 連線。在失敗的情況下,建立連線至已從服務中取出的伺服器,具有有限的 TTL 可協助應用程式復原。例如,設定 15 分鐘 TTL 可確保即使您已建立連線到發生問題的伺服器,也可以在 15 分鐘內重新建立與新伺服器的連線。
若要設定 HTTP 連線 TTL,請使用 ClientConfiguration.set 連線 TTL 方法。
-
錯誤重試次數上限
可重新擷取錯誤的預設重試次數上限為 3。您可以使用設定不同的值ClientConfiguration。 setMaxError重試方法。
本地地址
若要設定 HTTP 用戶端將繫結的本機位址,請使用ClientConfiguration。 setLocalAddress。
TCP 通訊端緩衝區大小提示
想要調整低階 TCP 參數的進階使用者可以透過ClientConfiguration物件另外設定 TCP 緩衝區大小提示。大多數用戶永遠不需要調整這些值,但它們是為高級用戶提供的。
應用程式的最佳 TCP 緩衝區大小高度取決於網路和作業系統的組態和功能。例如,大多數現代作業系統都針對 TCP 緩衝區大小提供自動調整邏輯。這對 TCP 連線的效能有很大的影響,因為這些連線保持開放時間足以讓自動調整以最佳化緩衝區大小。
較大的緩衝區大小(例如 2 MB)允許操作系統在內存中緩衝更多數據,而無需遠程服務器確認收到該信息,因此當網絡具有高延遲時特別有用。
這只是一個提示,操作系統可能不遵守它。使用此選項時,用戶應始終檢查操作系統的配置限制和默認值。大多數作業系統都設定了 TCP 緩衝區大小上限,並且除非您明確提高最大 TCP 緩衝區大小限制,否則不會讓您超出該限制。
許多資源可協助您設定 TCP 緩衝區大小和作業系統特定 TCP 設定,包括下列項目: