本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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
這應該在每個碎片層級進行監控,以判斷扭曲。