DMのConfiguration / コンフィグレーションを最適化する
このドキュメントでは、データ移行タスクの構成を最適化して、データ移行のパフォーマンスを向上させる方法を紹介します。
完全なデータエクスポート
mydumpersは、完全なデータエクスポートに関連する構成アイテムです。このセクションでは、パフォーマンス関連のオプションを構成する方法について説明します。
rows
rowsオプションを設定すると、マルチスレッドを使用して単一のテーブルからデータを同時にエクスポートできます。値rowsは、エクスポートされた各チャンクに含まれる行の最大数です。このオプションを有効にすると、MySQL単一テーブルのデータが同時にエクスポートされるときに、DMは分割ベンチマークとして列を選択します。この列は、主キー列、一意のインデックス列、および通常のインデックス列(優先度の高いものから低いものの順に)のいずれかになります。この列が整数型であることを確認してBIGINT MEDIUMINT INT
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は、DMSyncユニットでDMLを同時に複製するためのスレッド数を決定します。デフォルト値は16です。データレプリケーションを高速化するには、このオプションの値を適切に増やします。
batch
batchは、DM Syncユニット中にデータがダウンストリームデータベースに複製されるときに、各トランザクションに含まれるDMLの数を決定します。デフォルト値は100です。通常、このオプションの値を変更する必要はありません。
ノート:
- レプリケーションタスクの作成後に値
syncersを更新することはできません。タスクを作成する前に、各オプションの値を確認してください。値を更新する必要がある場合は、dmctlを使用してタスクを停止し、構成ファイルを更新して、タスクを再作成してください。syncers。簡単にするために、worker-countをsyncer-thread構成アイテムに置き換えることができます。- 実際のシナリオに応じて、
worker-countとbatchの値を変更できます。たとえば、DMとダウンストリームデータベースの間に高いネットワーク遅延がある場合は、値worker-countを増やし、値batchを適切に減らすことができます。