設定 DAX 用戶端
DAX 叢集為執行個體型叢集,可透過多種 DAX SDK 存取。各 SDK 提供可設定選項 (如 requestTimeout 與連線),以滿足特定應用程式需求。
設定 DAX 用戶端時,需重點考量應用程式規模,特別是用戶端執行個體與 DAX 伺服器執行個體 (最多 11 個) 的比例。大規模用戶端執行個體機群可能產生大量連線至 DAX 伺服器執行個體,導致伺服器負載過重。本指南說明 DAX 用戶端設定的最佳實務。
最佳實務
用戶端執行個體 – 實作單一執行個體模式,以確保請求間能重複使用。如需實作的詳細資訊,請參閱 步驟 4:執行範例應用程式。
請求逾時 – 雖然應用程式通常會設定較低的逾時值以降低上游系統延遲,但逾時過低可能造成問題。當 DAX 伺服器出現暫時性延遲高峰時,逾時設定過低可能導致頻繁重新連線至伺服器執行個體。當發生逾時時,DAX 用戶端會終止現有伺服器節點的連線,並建立新的連線。由於建立連線耗費大量資源,過多的連續連線可能導致 DAX 伺服器超載。我們建議下列作法:
保持預設的請求逾時設定。
若必須使用較短逾時,請建立逾時值較低的個別應用程式執行緒,並實作具指數退避的重試機制。
連線逾時 – 對大多數應用程式,建議保持預設連線逾時設定。
並行連線 – 某些 SDK (例如 JavaV2) 允許調整與 DAX 伺服器的並行連線數。關鍵考量事項:
DAX 伺服器執行個體最多可處理 40,000 個並行連線。
預設設定適用於多數使用案例。
大型用戶端執行個體若搭配高並行連線,可能導致伺服器超載。
降低並行連線數可減少伺服器超載風險。
效能計算範例:
假設請求延遲為 1ms,則每個連線理論上可處理每秒 1,000 個請求。
在 3 節點叢集中,單一連線至所有節點的用戶端執行個體每秒可處理 3,000 個請求。
以 10 個連線時,用戶端每秒約可處理 30,000 個請求。
建議:先以較低的並行連線設定起始,並以效能測試驗證其在預期生產工作負載下的表現。