本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
選取複寫執行個體的最佳大小
選擇適當的複寫執行個體取決於使用案例的多個因素。為了協助了解複寫執行個體資源的使用方式,請參閱以下討論。它涵蓋了滿載 + CDC 任務的常見場景。
在滿載任務期間, AWS DMS 個別載入表格。根據預設,一次會載入八個資料表。 AWS DMS 在完全載入工作期間擷取來源的持續變更,以便稍後可在目標端點上套用變更。這些變更會快取在記憶體中;如果可用記憶體耗盡,變更就會快取到磁碟。當資料表的完整載入工作完成時, AWS DMS 立即將快取的變更套用至目標資料表。
在套用資料表的所有未完成快取變更之後,目標端點會處於交易一致狀態。此時,目標會根據上次快取的變更與來源端點同步。 AWS DMS 然後開始來源與目標之間的持續複寫。要做到這一點, AWS DMS 從來源交易記錄檔取得變更作業,並以交易一致的方式將它們套用至目標。(此程序假設未選取批次最佳化套用)。 AWS DMS 盡可能透過複寫執行個體上的記憶體串流進行中的變更。否則, AWS DMS 將變更寫入複寫執行個體上的磁碟,直到可以在目標上套用變更為止。
您可以在某種程度上控制複寫執行個體如何處理變更處理,以及如何在該程序中使用記憶體。如需如何調整變更處理的詳細資訊,請參閱變更處理調校設定。
應考慮的因素
記憶體和磁碟空間是為使用案例選取適當複寫執行個體的關鍵因素。您可以在下方找到討論,了解要分析以選擇複寫執行個體的使用案例特性。
-
資料庫和資料表大小
資料磁碟區有助於判斷任務組態,以最佳化完全載入效能。例如,對於兩個 1 TB 結構描述,您可以將資料表分割成四個 500 GB 的任務,並平行執行這些任務。可能的平行處理原則取決於複製執行個體中可用的CPU資源。這就是為什麼建議您了解資料庫和資料表的大小,以最佳化完全載入效能的原因。這麼做有助於判斷您可能面臨的任務數量。
-
大型物件
遷移範圍中存在的資料類型可能會影響效能。特別是,大型物件 (LOBs) 會影響效能和記憶體消耗。若要移轉LOB值, AWS DMS 執行兩個步驟的程序。首先, AWS DMS 將列插入不含LOB值的目標中。第二, AWS DMS 使用LOB值更新列。這會對記憶體產生影響,因此請務必識別來源中的LOB資料行並分析其大小。
-
載入頻率和交易大小
載入頻率和每秒交易數 (TPS) 會影響記憶體使用量。大量TPS或數據操縱語言(DML)活動會導致內存的高使用率。發生這種情況是因為會DMS快取變更,直到變更套用至目標為止。在期間CDC,這會導致交換 (由於記憶體溢位而寫入實體磁碟),導致延遲。
-
資料表索引鍵和參考完整性
有關表格索引鍵的資訊會決定用於移轉資料的CDC模式 (批次套用或交易式套用)。一般而言,交易套用比批次套用慢。對於長期執行的交易,可能會有許多遷移變更。當您使用交易式套用時, AWS DMS 與批次套用相比,可能需要更多記憶體來儲存變更。如果您移轉沒有主索引鍵的資料表,批次套用將會失敗,且DMS工作會移至交易式套用模式。當參照完整性在CDC表之間處於活動狀態時, AWS DMS 默認情況下使用事務性應用。如需有關批次套用與交易式套用相比的詳細資訊,請參閱如何使用DMS批次套用功能來改善CDC複寫效能?
。
使用這些指標來判斷您是否需要對複寫執行個體進行運算最佳化或是進行記憶體最佳化。
常見問題
您可能會遇到下列常見問題,這些問題會在遷移期間造成複寫執行個體上的資源爭用。如需複寫執行個體指標的相關資訊,請參閱複寫執行個體指標。
-
如果複寫執行個體中的記憶體不足,這會導致將資料寫入磁碟。從磁碟讀取可能會造成延遲,您可以透過將複寫執行個體調整為具有足夠的記憶體來避免延遲。
-
指派給複寫執行個體的磁碟大小可能小於所需的大小。當記憶體中的資料溢出時,便會使用磁碟大小;您也可使用此磁碟大小來儲存任務日誌。最大值也IOPS取決於它。
-
執行多個工作或具有高平行處理原則的工作會影響複寫執行個體的CPU耗用。這會拖慢任務的處理速度,並導致延遲。
最佳實務
調整複寫執行個體大小時,請考慮這兩種最常見的最佳實務。如需詳細資訊,請參閱AWS Database Migration Service 的最佳實務。
-
調整工作負載的大小,並了解其是運算能力密集型還是記憶體密集型的工作負載。您可以以此為基礎,判斷複寫執行個體的類別和大小:
-
AWS DMS 記憶體LOBs中的處理序。此操作需要一定數量的記憶體。
-
工作數目和執行緒數目會影響CPU消耗。在完全載入操作期間避免使用超過八個
MaxFullLoadSubTasks
。
-
-
當您於完全載入期間有很高的工作負載時,請提高指派給複寫執行個體的磁碟空間。這樣做可讓複製執行個體使用指IOPS派給它的最大值。
上述的指導方針並未涵蓋所有可能的案例。當您決定複寫執行個體的大小時,務必考慮特定使用案例的具體情況。
先前的測試顯示,記憶CPU體因不同的工作負載而異。特別是,LOBs影響內存,並且任務計數或並行性會影響. CPU 執行移轉後,請監視可釋放IOPS的記憶體、可用儲存空間和複寫執行個體。CPU根據您收集的資料,可以視需要擴展或縮減複寫執行個體大小。