

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

# 對 中的延遲問題進行故障診斷 AWS Database Migration Service
<a name="CHAP_Troubleshooting_Latency"></a>

本節提供持續複寫階段 (CDC) 期間 AWS DMS 任務延遲的常見原因概觀。 會以非同步方式 AWS DMS 複寫資料。延時是指在來源遞交變更，並將變更複寫到目標之間的延遲。延時可能是由於複寫元件組態錯誤而導致的，例如以下項目：
+ 來源端點或資料來源
+ 目標端點或資料來源
+ 複寫執行個體
+ 這些元件之間的網路

我們建議您使用測試遷移作為概念驗證，以收集複寫的相關資訊。然後，您可以使用此資訊來調整複寫組態，以將延時降至最低。如需執行概念證明遷移的相關資訊，請參閱[執行概念驗證](CHAP_BestPractices.md#CHAP_BestPractices.RunPOC)。

**Topics**
+ [CDC 延時的類型](#CHAP_Troubleshooting_Latency_Types)
+ [CDC 延時的常見原因](#CHAP_Troubleshooting_Latency_Causes)
+ [針對延時問題進行疑難排解](CHAP_Troubleshooting_Latency_Troubleshooting.md)

## CDC 延時的類型
<a name="CHAP_Troubleshooting_Latency_Types"></a>

本節包含 CDC 期間可能發生的複寫延時類型。

### 來源延時
<a name="CHAP_Troubleshooting_Latency_Types_Source"></a>

從來源端點擷取到最後一個事件的遞交時間，與複寫執行個體目前系統時間戳記之間的延遲 (秒)。您可以使用 `CDCLatencySource` CloudWatch 指標，監控資料來源和複寫執行個體之間的延時。高 `CDCLatencySource` 指標表示從來源擷取變更的程序已延遲。例如，如果您的應用程式在 10：00 將插入遞交至來源，並在 10：02 AWS DMS 耗用變更，則`CDCLatencySource`指標為 120 秒。

如需 的 CloudWatch 指標相關資訊 AWS DMS，請參閱 [複寫任務指標](CHAP_Monitoring.md#CHAP_Monitoring.Metrics.Task)。

### 目標延時
<a name="CHAP_Troubleshooting_Latency_Types_Target"></a>

等待遞交到目標第一個事件來源上的遞交時間，與 DMS 複寫執行個體目前時間戳記之間的延遲 (秒)。您可以使用 `CDCLatencyTarget` CloudWatch 指標監控資料來源上的遞交與資料目標之間的延時。這意味著 `CDCLatencyTarget` 包括從來源讀取的任何延遲。因此，`CDCLatencyTarget` 一律會大於或等於 `CDCLatencySource`。

例如，如果您的應用程式在 10：00 將插入遞交至來源，並在 10：02 AWS DMS 使用，並在 10：05 寫入目標，則`CDCLatencyTarget`指標為 300 秒。

## CDC 延時的常見原因
<a name="CHAP_Troubleshooting_Latency_Causes"></a>

本節包含複寫在 CDC 期間可能遇到的延時原因。

**Topics**
+ [端點資源](#CHAP_Troubleshooting_Latency_Causes_Endpoint)
+ [複寫執行個體資源](#CHAP_Troubleshooting_Latency_Causes_Replication_Instance)
+ [網路速度與頻寬](#CHAP_Troubleshooting_Latency_Causes_Replication_Network)
+ [DMS 組態](#CHAP_Troubleshooting_Latency_Causes_Replication_DMS_Config)
+ [複寫案例](#CHAP_Troubleshooting_Latency_Causes_Replication_Scenarios)

### 端點資源
<a name="CHAP_Troubleshooting_Latency_Causes_Endpoint"></a>

下列因素會嚴重影響複寫效能和延時：
+ 來源與目標資料庫組態
+ 執行個體大小
+ 佈建不足或組態錯誤的來源或目標資料存放區

若要識別 AWS託管來源和目標的端點問題導致延遲的原因，請監控下列 CloudWatch 指標：
+ `FreeMemory`
+ `CPUUtilization`
+ 輸送量和 I/O 指標，例如 `WriteIOPS`、`WriteThroughput` 或 `ReadLatency`
+ 交易量指標，例如 `CDCIncomingChanges`。

如需監控 CloudWatch 指標的相關資訊，請參閱 [AWS Database Migration Service 指標](CHAP_Monitoring.md#CHAP_Monitoring.Metrics)。

### 複寫執行個體資源
<a name="CHAP_Troubleshooting_Latency_Causes_Replication_Instance"></a>

複寫執行個體資源對於複寫而言至關重要，您應該確保不存在資源瓶頸，因為這些瓶頸可能會導致來源和目標延時。

若要識別複寫執行個體的資源瓶頸，請確認下列項目：
+ 重要的 CloudWatch 指標 (例如 CPU、記憶體、每秒 I/O 和儲存體) 不會遇到尖峰或一致性高值。
+ 已針對您的工作負載適當調整複寫執行個體的大小。如需如何決定複寫執行個體正確大小的相關資訊，請參閱[選取複寫執行個體的最佳大小](CHAP_BestPractices.SizingReplicationInstance.md)。

### 網路速度與頻寬
<a name="CHAP_Troubleshooting_Latency_Causes_Replication_Network"></a>

網路頻寬是影響資料傳輸的因素。若要分析複寫的網路效能，請執行下列其中一項：
+ 檢查執行個體層級的 `ReadThroughput` 和 `WriteThroughput` 指標。如需監控 CloudWatch 指標的相關資訊，請參閱 [AWS Database Migration Service 指標](CHAP_Monitoring.md#CHAP_Monitoring.Metrics)。
+ 使用 AWS DMS 診斷支援 AMI。如果您所在地區無法使用診斷支援 AMI，您可以從任何支援的地區下載該 AMI，然後將其複製到您所在的地區以執行網路分析。如需診斷支援 AMI 的相關資訊，請參閱[使用 AWS DMS 診斷支援 AMI](CHAP_SupportAmi.md)。

中的 CDC AWS DMS 是單執行緒，以確保資料一致性。因此，您可以透過計算單一執行緒資料傳輸速率，來判斷網路可支援的資料量。例如，如果任務使用 100 Mbps (每秒 MB) 網路連線至其來源，則理論上複寫的最大頻寬配置為 12.5 MBps (每秒 MB)。這等於每小時 45 GB。如果來源上的交易日誌產生速率大於每小時 45 GB，這表示任務有 CDC 延遲。對於 100 MBps 網路而言，這些速率是理論上的最大值；其他因素 (例如來源和目標上的網路流量和資源額外負荷) 會降低實際可用頻寬。

### DMS 組態
<a name="CHAP_Troubleshooting_Latency_Causes_Replication_DMS_Config"></a>

本節包含建議的複寫組態，可協助降低延時。
+ **端點設定**：來源和目標端點設定可能會導致複寫執行個體效能低下。開啟資源密集型功能的端點設定會影響效能。例如，對於 Oracle 端點，停用 LogMiner 和使用 Binary Reader 可改善效能，因為 LogMiner 會耗費大量資源。下列端點設定可改善 Oracle 端點的效能：

  ```
  useLogminerReader=N;useBfile=Y
  ```

  如需端點設定的相關資訊，請參閱 [使用 AWS DMS 端點](CHAP_Endpoints.md) 主題中來源和目標端點引擎的文件。
+ **任務設定**：特定複寫案例的某些任務設定可能會造成複寫執行個體效能低落。例如， AWS DMS 預設對 Amazon Redshift 以外所有端點的 CDC 使用交易套用模式 (`BatchApplyEnabled=false`)。但是，對於具有大量變更的來源，將 `BatchApplyEnabled` 設為 `true` 可改善效能。

  如需任務設定的詳細資訊，請參閱[指定 AWS Database Migration Service 任務的任務設定](CHAP_Tasks.CustomizingTasks.TaskSettings.md)。
+ **僅限 CDC 任務的開始位置**：從過去的位置或時間戳記開始僅限 CDC 任務，將在 CDC 來源延時增加的情況下開始任務。根據來源上的變更量，任務延時需要一些時間才會趨於平緩。
+ **LOB 設定**：大型物件資料類型可能會因為複寫大型二進位資料的方式而阻礙 AWS DMS 複寫效能。如需詳細資訊，請參閱下列主題：
  + [設定 AWS DMS 任務中來源資料庫的 LOB 支援](CHAP_Tasks.LOBSupport.md)
  + [遷移大型二進位物件 (LOB)](CHAP_BestPractices.md#CHAP_BestPractices.LOBS).

### 複寫案例
<a name="CHAP_Troubleshooting_Latency_Causes_Replication_Scenarios"></a>

本節說明特定複寫案例，以及這些案例可能如何影響延時。

**Topics**
+ [長時間停止任務](#CHAP_Troubleshooting_Latency_Causes_Replication_Scenarios_Stoptask)
+ [快取的變更](#CHAP_Troubleshooting_Latency_Causes_Replication_Scenarios_Cachedchanges)
+ [跨區域複寫](#CHAP_Troubleshooting_Latency_Causes_Replication_Scenarios_Crossregion)

#### 長時間停止任務
<a name="CHAP_Troubleshooting_Latency_Causes_Replication_Scenarios_Stoptask"></a>

當您停止任務時， AWS DMS 會儲存從來源讀取的最後一個交易日誌的位置。當您繼續任務時，DMS 會嘗試從相同的交易日誌位置繼續讀取。在數小時或數天後繼續任務會導致 CDC 來源延時增加，直到 DMS 完成交易待辦項目的使用為止。

#### 快取的變更
<a name="CHAP_Troubleshooting_Latency_Causes_Replication_Scenarios_Cachedchanges"></a>

**快取變更**是應用程式在 AWS DMS 執行完全載入複寫階段時寫入資料來源的變更。DMS 在完全載入階段完成和 CDC 階段開始前，都不會套用這些變更。對於具有大量交易的來源，快取變更的套用需要較長的時間，因此 CDC 階段開始時，來源延時會增加。我們建議您在交易磁碟區不足時執行完全載入階段，以將快取變更的數目降到最低。

#### 跨區域複寫
<a name="CHAP_Troubleshooting_Latency_Causes_Replication_Scenarios_Crossregion"></a>

在不同區域中尋找 DMS 端點或複寫執行個體 AWS 會增加網路延遲。這會增加複寫延時。為了獲得最佳效能，請在相同 AWS 區域中尋找來源端點、目標端點和複寫執行個體。