如何對 AWS DMS 任務的高來源延遲進行疑難排解?

1 分的閱讀內容
0

我發現 AWS Database Migration Service (AWS DMS) 任務的來源延遲很高。什麼原因導致在遷移期間出現來源延遲的情況?

簡短說明

您可以使用 Amazon CloudWatch 指標監控 AWS DMS 任務。在遷移期間,您可能會在 AWS DMS 任務進行複寫階段 (變更資料擷取 (CDC)) 期間看到來源延遲。您可以使用 CDCLatencySourceCloudWatch 服務指標,來監控 AWS DMS 任務的來源延遲。如果出現以下情況,您可能會在 AWS DMS 任務上看到來源延遲:

  • 來源資料庫的資源有限。
  • AWS DMS 複寫執行個體的資源有限。
  • 來源資料庫和 AWS DMS 複寫執行個體之間的網路速度很慢。
  • AWS DMS 在進行複寫期間,從來源資料庫的交易日誌讀取新的變更。
  • AWS DMS 任務的設定不充分,或遷移的是大型物件 (LOB)。
  • 用於 AWS DMS 任務的 Oracle 來源資料庫,正在使用 LogMiner 進行複寫。

解決方法

來源資料庫的資源有限。最佳實務是為來源資料庫引擎使用原生監控。使用原生監控可確保您的資料庫不會遇到效能瓶頸,例如記憶體爭用或 I/O 飽和。

AWS DMS 複寫執行個體的資源有限。監控複寫執行個體指標,例如CPUUtilizationFreeStorageSpaceFreeableMemory。確認複寫執行個體有足夠的資源來管理您的任務。

來源資料庫和 AWS DMS 複寫執行個體之間的網路速度很慢。依設計,單一 AWS DMS 任務無法使用完整的網路頻寬。如果您的生產資料庫很忙碌,會進行許多變更,您便可能需要增加網路頻寬。例如,使用 AWS Direct Connect 連線

AWS DMS 在進行複寫期間,從來源資料庫的交易日誌讀取新的變更。視您使用的來源資料庫引擎而定,來源交易日誌也可能會有未經認可的資料。在進行複寫期間,AWS DMS 會從交易日誌讀取傳入的變更。但是 AWS DMS 只會將已認可的變更轉送到目標。這最終可能會導致來源延遲。監控 CDC 的複寫任務指標,以及 SOURCE_CAPTURE 元件的詳細偵錯記錄,以確認任務正在進行中。

但是,在來源資料庫寫入大型資料集並執行較少的認可時,AWS DMS 會持續讀取交易日誌。在認可整個交易之前,AWS DMS 不會對目標套用變更。這也可能導致來源延遲。由於來源延遲增加,目標延遲也會隨之增加。

AWS DMS 任務的設定不充分,或遷移的是大型物件 (LOB)。AWS DMS 會在進行複寫期間,分兩個階段遷移 LOB 資料。首先,AWS DMS 會在目標表格中建立新列,其中包含所有欄,惟具有 LOB 的欄除外。然後,AWS DMS 會更新具有 LOB 的列。如果您的來源資料庫經常更新具有 LOB 欄的表格,則可能會看到來源延遲。如需詳細資訊,請參閱遷移大型二進制物件 (LOB)

如果任務有太多表格,或是多個表格均包含 LOB 欄,請將您的任務分割成多個任務。如果您有一組不參與常見交易的表格,請將您的遷移劃分為多個任務。這樣有助於提高效能。任務內必須維持交易一致性,因此單獨任務中的表格不參與常見的交易非常重要。此外,每個任務都會獨立讀取交易串流,因此請勿對來源資料庫施加太多壓力。如需詳細資訊,請參閱 AWS Database Migration Service 的最佳實務

用於 AWS DMS 任務的 Oracle 來源資料庫,正在使用 LogMiner 進行複寫。如果來源資料庫會產生大量重做日誌,請對執行中的複寫使用二進位讀取器方法。如果來源資料庫正在使用 Oracle Automatic Storage Management (ASM),您也可以使用此方法。如需詳細資訊,請參閱使用 Oracle LogMiner 或 AWS DMS 二進位讀取器進行 CDC


相關資訊

改善 AWS DMS 遷移的效能

AWS 官方
AWS 官方已更新 1 年前