設定 DAX 用戶端 - Amazon DynamoDB

設定 DAX 用戶端

DAX 叢集為執行個體型叢集,可透過多種 DAX SDK 存取。各 SDK 提供可設定選項 (如 requestTimeout 與連線),以滿足特定應用程式需求。

設定 DAX 用戶端時,需重點考量應用程式規模,特別是用戶端執行個體與 DAX 伺服器執行個體 (最多 11 個) 的比例。大規模用戶端執行個體機群可能產生大量連線至 DAX 伺服器執行個體,導致伺服器負載過重。本指南說明 DAX 用戶端設定的最佳實務。

最佳實務

  1. 用戶端執行個體 – 實作單一執行個體模式,以確保請求間能重複使用。如需實作的詳細資訊,請參閱 步驟 4:執行範例應用程式

  2. 請求逾時 – 雖然應用程式通常會設定較低的逾時值以降低上游系統延遲,但逾時過低可能造成問題。當 DAX 伺服器出現暫時性延遲高峰時,逾時設定過低可能導致頻繁重新連線至伺服器執行個體。當發生逾時時,DAX 用戶端會終止現有伺服器節點的連線,並建立新的連線。由於建立連線耗費大量資源,過多的連續連線可能導致 DAX 伺服器超載。我們建議下列作法:

    • 保持預設的請求逾時設定。

    • 若必須使用較短逾時,請建立逾時值較低的個別應用程式執行緒,並實作具指數退避的重試機制。

  3. 連線逾時 – 對大多數應用程式,建議保持預設連線逾時設定。

  4. 並行連線 – 某些 SDK (例如 JavaV2) 允許調整與 DAX 伺服器的並行連線數。關鍵考量事項:

    • DAX 伺服器執行個體最多可處理 40,000 個並行連線。

    • 預設設定適用於多數使用案例。

    • 大型用戶端執行個體若搭配高並行連線,可能導致伺服器超載。

    • 降低並行連線數可減少伺服器超載風險。

    • 效能計算範例:

      • 假設請求延遲為 1ms,則每個連線理論上可處理每秒 1,000 個請求。

      • 在 3 節點叢集中,單一連線至所有節點的用戶端執行個體每秒可處理 3,000 個請求。

      • 以 10 個連線時,用戶端每秒約可處理 30,000 個請求。

        建議:先以較低的並行連線設定起始,並以效能測試驗證其在預期生產工作負載下的表現。