翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
でのレイテンシーの問題のトラブルシューティング AWS Database Migration Service
このセクションでは、進行中のレプリケーションフェーズ () における AWS DMS タスクレイテンシーの一般的な原因の概要を説明しますCDC。 はデータを非同期的に AWS DMS レプリケートします。レイテンシーは、変更がソースにコミットされてから、その変更がターゲットにレプリケートされるまでの遅延を指します。レイテンシーは、次のとおりのレプリケーションコンポーネントの設定ミスが原因で発生する可能性があります。
ソースエンドポイントまたはデータソース
ターゲットエンドポイントまたはデータソース
レプリケーション インスタンス
上記コンポーネント間のネットワーク
レプリケーションに関する情報を収集するための概念実証としてテスト移行を使用することをお勧めします。その後、この情報を使用してレプリケーション設定を調整して、レイテンシーを最小限に抑えることができます。概念実証の移行の実行については、「PoC (概念実証) を実行する」を参照してください。
CDC レイテンシーのタイプ
このセクションでは、 中に発生する可能性のあるレプリケーションレイテンシーのタイプについて説明しますCDC。
ソースのレイテンシー
ソースエンドポイントからキャプチャされた最後のイベントのコミット時刻とレプリケーションインスタンスの現在のシステムタイムスタンプ間のレイテンシー (秒単位)。CDCLatencySource
CloudWatch メトリクスを使用して、データソースとレプリケーションインスタンス間のレイテンシーをモニタリングできます。CDCLatencySource
メトリクスが高いと、ソースからの変更をキャプチャするプロセスが遅延していることを意味します。例えば、アプリケーションが 10:00 にソースへの挿入をコミットし、10:02 に変更を AWS DMS 消費する場合、CDCLatencySource
メトリクスは 120 秒です。
の CloudWatch メトリクスについては、 AWS DMS「」を参照してくださいレプリケーションタスクのメトリクス。
ターゲットのレイテンシー
ターゲットへのコミットを待機している最初のイベントのソースのコミット時間と、DMSレプリケーションインスタンスの現在のタイムスタンプとの間の秒単位の遅延。CDCLatencyTarget
CloudWatch メトリクスを使用して、データソースとデータターゲットのコミット間のレイテンシーをモニタリングできます。つまり、CDCLatencyTarget
にはソースからの読み取り遅延も含まれます。その結果、CDCLatencyTarget
は常に CDCLatencySource
以上になります。
例えば、アプリケーションが 10:00 にソースへの挿入をコミットし、10:02 に AWS DMS 消費して 10:05 にターゲットに書き込む場合、CDCLatencyTarget
メトリクスは 300 秒です。
CDC レイテンシーの一般的な原因
このセクションでは、 中にレプリケーションで発生する可能性のあるレイテンシーの原因について説明しますCDC。
エンドポイントのリソース
レプリケーションのパフォーマンスとレイテンシーに多大な影響を及ぼすのは次の要因です。
ソースデータベースとターゲットデータベースの設定
インスタンスサイズ
ソースデータストアまたはターゲットデータストアがプロビジョニング不足または設定の誤り
が AWSホストするソースとターゲットのエンドポイントの問題によって引き起こされるレイテンシーの原因を特定するには、次の CloudWatch メトリクスをモニタリングします。
FreeMemory
CPUUtilization
WriteIOPS
、WriteThroughput
、またはReadLatency
などのスループットと I/O メトリクスCDCIncomingChanges
などのトランザクションボリュームメトリクス
CloudWatch メトリクスのモニタリングの詳細については、「」を参照してくださいAWS Database Migration Service メトリクス。
レプリケーションインスタンスのリソース
レプリケーションインスタンスのリソースはレプリケーションに不可欠であり、ソースとターゲットの両方のレイテンシーにつながる可能性があるため、リソースのボトルネックがないことを確認する必要があります。
レプリケーションインスタンスのリソースのボトルネックを特定するには、次を確認します。
CPU、メモリ、1 秒あたりの I/O、ストレージなどの重要な CloudWatch メトリクスでは、スパイクが発生していないか、値が大きくなっています。
レプリケーションインスタンスのサイズがワークロードに応じて適切に設定されていること。レプリケーションインスタンスの適切なサイズを決定する方法の詳細については、「レプリケーションインスタンス向けの最適なサイズの選択」を参照してください。
ネットワーク速度と帯域幅
ネットワーク帯域幅は、データ送信に影響を与える要因となります。レプリケーションのネットワークパフォーマンスを分析するには、次のいずれかを実行します。
インスタンスレベルで
ReadThroughput
メトリクスとWriteThroughput
メトリクスを確認します。 CloudWatch メトリクスのモニタリングの詳細については、「」を参照してくださいAWS Database Migration Service メトリクス。AWS DMS 診断サポート を使用しますAMI。診断サポートAMIがお客様のリージョンで利用できない場合は、サポートされている任意のリージョンからダウンロードし、お客様のリージョンにコピーしてネットワーク分析を実行できます。診断サポートの詳細については、AMI「」を参照してくださいAWS DMS 診断サポート AMI の使用。
CDC の AWS DMS は、データの一貫性を確保するためにシングルスレッドです。そのため、シングルスレッドのデータ転送速度を計算すると、ネットワークがサポートできるデータ量を決定できます。例えば、タスクが 100 Mbps (メガビット/秒) ネットワークを使用してソースに接続する場合、レプリケーションの理論上の最大帯域幅割り当ては 12.5 MBps (メガバイト/秒) です。これは 1 時間あたり 45 ギガビットに相当します。ソースのトランザクションログ生成速度が 1 時間あたり 45 ギガビットを超える場合、タスクにCDCレイテンシーがあることを意味します。100 のMBpsネットワークの場合、これらのレートは理論上の最大値です。ソースとターゲットのネットワークトラフィックやリソースオーバーヘッドなどの他の要因は、実際に利用可能な帯域幅を減らします。
DMS 設定
このセクションでは、レイテンシーの軽減に役立つレプリケーションの推奨設定を説明します。
エンドポイント設定: ソースエンドポイントとターゲットエンドポイント設定がレプリケーションインスタンスのパフォーマンス低下の原因となる場合があります。リソースを大量に利用する機能を有効にするエンドポイント設定は、パフォーマンスに影響します。例えば、Oracle エンドポイントの場合、 は LogMiner リソースを大量に消費するため、Binary Reader を無効にして使用する LogMiner とパフォーマンスが向上します。Oracle エンドポイントのパフォーマンスを向上するエンドポイント設定は次のとおりです。
useLogminerReader=N;useBfile=Y
エンドポイント設定の詳細については、「AWS DMS エンドポイントの使用」トピックのソースエンドポイントとターゲットエンドポイントエンジンのドキュメントを参照してください。
タスク設定: 特定のレプリケーションシナリオのタスク設定によっては、レプリケーションインスタンスのパフォーマンスが低下する場合があります。例えば、 AWS DMS は、Amazon Redshift を除くすべてのエンドポイントCDCに対して、デフォルトでトランザクション適用モード (
BatchApplyEnabled=false
) を使用します。ただし、変更が多数あるソースでは、BatchApplyEnabled
をtrue
に設定するとパフォーマンスが向上する可能性があります。タスク設定の詳細については、「AWS Database Migration Service タスクのタスク設定の指定」をご参照ください。
CDC 唯一のタスクの開始位置: 過去の位置またはタイムスタンプから CDCのみのタスクを開始すると、CDCソースレイテンシーが増加してタスクが開始されます。ソースの変更量によっては、タスクのレイテンシーが低減するまで時間がかかります。
LOB 設定 : 大きなオブジェクトデータ型は、 が大きなバイナリデータをレプリケートする方法が原因で、レ AWS DMS プリケーションのパフォーマンスを妨げる可能性があります。詳細については、次のトピックを参照してください。
レプリケーションのシナリオ
このセクションでは、特定のレプリケーションシナリオと、レイテンシーへの影響について説明します。
タスクの長時間にわたる停止
タスクを停止すると、 はソースから読み取られた最後のトランザクションログの位置 AWS DMS を保存します。タスクを再開すると、 DMS は同じトランザクションログ位置からの読み取りを続行しようとします。数時間または数日後にタスクを再開すると、 がトランザクションバックログの消費DMSを完了するまでCDCソースレイテンシーが増加します。
キャッシュされた変更
キャッシュされた変更は、 が全ロードレプリケーションフェーズ AWS DMS を実行している間にアプリケーションがデータソースに書き込む変更です。DMS は、全ロードフェーズが完了し、CDCフェーズが開始されるまで、これらの変更を適用しません。トランザクション数が多いソースの場合、キャッシュされた変更の適用には時間がかかります。そのため、CDCフェーズの開始時にソースのレイテンシーが増加します。キャッシュされた変更数を最小限に抑えるため、フルロードフェーズは、トランザクション量が少ないケースで実行することをお勧めします。
クロスリージョンレプリケーション
DMS エンドポイントまたはレプリケーションインスタンスを異なる AWS リージョンに配置すると、ネットワークレイテンシーが増加します。これにより、レプリケーションレイテンシーも長くなります。最高のパフォーマンスを得るには、ソースエンドポイント、ターゲットエンドポイント、レプリケーションインスタンスを同じ AWS リージョンに配置します。