Amazon DocumentDB 彈性叢集最佳實務 - Amazon DocumentDB

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

Amazon DocumentDB 彈性叢集最佳實務

了解使用 Amazon DocumentDB 彈性叢集的最佳實務。執行個體型 Amazon DocumentDB 叢集的所有最佳實務也適用於彈性叢集。在新最佳實務確定時,會不斷更新此小節。

選擇碎片索引鍵

下列清單說明建立碎片金鑰的指導方針。

  • 使用平均分佈的雜湊金鑰,將資料分散到叢集中的所有碎片 (避免使用熱鍵)。

  • 在所有read/update/delete請求中使用您的碎片金鑰,以避免散射收集查詢。

  • 執行read/update/delete操作時,請避免巢狀碎片金鑰。

  • 進行批次操作時,請將 ordered設定為 false,以便所有碎片可以平行執行並提高延遲。

連線管理

下列清單說明管理資料庫連線的指導方針。

  • 監控您的連線計數,以及新連線開啟的頻率。

  • 將連線分散到應用程式組態中的所有子網路。如果您的叢集是在多個子網路中設定,但您只利用一部分子網路,則您的最大連線可能會遇到瓶頸。

未碎片集合

以下說明未碎片集合的指導方針。

  • 使用未碎片集合時,若要分配負載,請嘗試在不同資料庫上保留高度使用的未碎片集合。Amazon DocumentDB 彈性叢集會將資料庫放在不同的碎片上,並共同將相同資料庫的未碎片集合放置在相同的碎片上。

擴展彈性叢集

下列清單說明擴展彈性叢集的指導方針。

  • 擴展操作可能會導致短暫的間歇性資料庫和網路錯誤。可能的話,請避免在尖峰時段進行擴展。嘗試在維護時段期間擴展。

  • 增加和減少碎片容量 (變更每個碎片的 vCPU 計數) 以增加運算比增加或減少碎片計數更為優先,因為它速度更快,並且具有較短的間歇性資料庫和網路錯誤持續時間。

  • 預測增長時,最好增加碎片計數,而不是擴展碎片容量。這可讓您透過增加需要快速擴展的案例的碎片容量來擴展叢集。

  • 監控您的用戶端重試政策,並使用指數退避和抖動重試,以避免在擴展時發生錯誤時使資料庫超載。

監控彈性叢集

下列清單說明監控彈性叢集的指導方針。

  • 追蹤每個碎片指標的peak-to-average比率,以判斷您是否正在驅動不均勻的流量 (具有熱鍵/熱點)。追蹤peak-to-average比率的關鍵指標為:

    • PrimaryInstanceCPUUtilization

      • 這可以在每個碎片層級進行監控。

      • 在叢集層級,您可以監控 p99 偏移的平均數。

    • PrimaryInstanceFreeableMemory

      • 這可以在每個碎片層級進行監控。

      • 在叢集層級,您可以監控 p99 偏移的平均數。

    • DatabaseCursorsMax

      • 這應該在每個碎片層級進行監控,以判斷扭曲。

    • Documents-Inserted/Updated/Returned/Deleted

      • 這應該在每個碎片層級進行監控,以判斷扭曲。