私はAWS DMSを使用して、MySql AuroraからRedshiftへの進行中のレプリケーションを実行しています。ただし、進行中のレプリケーションでは、ターゲットに25〜30%のCPU負荷が発生しています。これは、S3上に多数の小さなファイルを生成し、それらをノンストップでロード/処理するためです。 Redshiftは、多数の小さなタスクを処理するためのものではありません。AWS DMS MySql AuroraをRedshiftレプリケーションに最適化する方法は?
最適化のために、プロセスは1時間ごとに開始され、ターゲットが同期するまで待ってから停止します。したがって、継続的に作業するのではなく、1時間ごとに5〜8分間動作します。それでも、まだ非常に遅く、最適化されていないのは、s3ファイルが何百もの小さなファイルを処理しなければならないためです。
さらに最適化できますか? DMSにこれらの変更をより長い期間バッファリングするよう指示し、多くの小さなs3ファイルの代わりに、より少ないサイズのものを生成しないようにする方法はありますか?私たちは本当に目標レイテンシーが高いことに気をつけません。
オーロラとレッドシフトの間で転送されるデータの量は、やや少ないです。 1時間あたり約20K回の変更があり、4ノードのd1.large redshiftクラスタを使用しています。ほんの数秒のもの20Kの変化ではなく、数分までの目標設定でmaxFileSize
あなたは大きなファイルを書き込むことができますし、また、あなたはあなたの中にフォルダ全体を使うのですか小さなファイルごとに個別に読み込みますか? – AlexYes
@Alexはい、手動でロードされた場合。しかし、負荷はDMSレプリケーションインスタンス自体によって実行され、私はそれを制御できません。 –