DMのコンフィグレーションを最適化する
このドキュメントでは、データ移行タスクの構成を最適化して、データ移行のパフォーマンスを向上させる方法について説明します。
完全なデータエクスポート
mydumpers
は、完全なデータ エクスポートに関連する構成項目です。このセクションでは、パフォーマンス関連のオプションを構成する方法について説明します。
rows
rows
オプションを設定すると、マルチスレッドを使用して単一のテーブルから同時にデータをエクスポートできます。値rows
は、エクスポートされた各チャンクに含まれる行の最大数です。このオプションを有効にすると、MySQL の単一テーブルのデータが同時にエクスポートされるときに、DM は分割ベンチマークとして列を選択します。この列は、主キー列、一意のインデックス列、通常のインデックス列 (最高優先度から最低優先度の順) のいずれかになります。この列が整数型 (たとえば、 INT
、 MEDIUMINT
、 BIGINT
) であることを確認してください。
rows
の値は 10000 に設定できます。この値は、テーブル内の行の総数とデータベースのパフォーマンスに応じて変更できます。また、同時スレッドの数を制御するにはthreads
設定する必要があります。デフォルトでは、 threads
の値は 4 です。この値は必要に応じて調整できます。
chunk-filesize
フルバックアップ中、DM はchunk-filesize
オプションの値に応じて各テーブルのデータを複数のチャンクに分割します。各チャンクは、約chunk-filesize
のサイズのファイルに保存されます。このように、データは複数のファイルに分割され、DM ロードユニットの並列処理を使用してインポート速度を向上させることができます。このオプションのデフォルト値は 64 (MB 単位) です。通常、このオプションを設定する必要はありません。設定する場合は、フルデータのサイズに応じてこのオプションの値を調整します。
注記:
- 移行タスクの作成後に
mydumpers
の値を更新することはできません。タスクを作成する前に、各オプションの値を確認してください。値を更新する必要がある場合は、dmctl を使用してタスクを停止し、構成ファイルを更新して、タスクを再作成してください。mydumpers
.threads
、簡単にするためにmydumper-thread
構成項目に置き換えることができます。rows
設定されている場合、DM はchunk-filesize
の値を無視します。
完全なデータインポート
loaders
は、完全なデータのインポートに関連する構成項目です。このセクションでは、パフォーマンス関連のオプションを構成する方法について説明します。
pool-size
pool-size
オプションは、DM ロード ユニット内のスレッド数を決定します。デフォルト値は 16 です。通常、このオプションを設定する必要はありません。設定する場合は、フル データのサイズとデータベースのパフォーマンスに応じてこのオプションの値を調整します。
注記:
- 移行タスクの作成後に
loaders
の値を更新することはできません。タスクを作成する前に、各オプションの値を確認してください。値を更新する必要がある場合は、dmctl を使用してタスクを停止し、構成ファイルを更新して、タスクを再作成してください。loaders
.pool-size
、簡単にするためにloader-thread
構成項目に置き換えることができます。
増分データレプリケーション
syncers
増分データレプリケーションに関連する構成項目です。このセクションでは、パフォーマンス関連のオプションを構成する方法について説明します。
worker-count
worker-count
、DM 同期ユニット内の DML の同時レプリケーションのスレッド数を決定します。デフォルト値は 16 です。データ レプリケーションを高速化するには、このオプションの値を適切に増やします。
batch
batch
、DM 同期ユニット中にデータがダウンストリーム データベースにレプリケートされるときに、各トランザクションに含まれる DML の数を決定します。デフォルト値は 100 です。通常、このオプションの値を変更する必要はありません。
注記:
- レプリケーション タスクの作成後に
syncers
の値を更新することはできません。タスクを作成する前に、各オプションの値を確認してください。値を更新する必要がある場合は、dmctl を使用してタスクを停止し、構成ファイルを更新して、タスクを再作成してください。syncers
.worker-count
、簡単にするためにsyncer-thread
構成項目に置き換えることができます。- 実際のシナリオに応じて、
worker-count
とbatch
の値を変更できます。たとえば、DM とダウンストリーム データベース間のネットワーク遅延が大きい場合は、worker-count
の値を増やし、batch
の値を適切に減らすことができます。