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