操作シナリオ
DTSデータ移行タスクの設定中、またはタスクの実行中に、ソースデータベースのデータ書き込み量、ソースデータベースとターゲットデータベースのリソース設定に基づいて、タスクの同時実行数とRPSを柔軟に調整できます。
説明:
本文では、DTS性能パラメータの操作ガイドのみを提供しています。DTS伝送性能を全面的に向上させる必要がある場合は、ソース/ターゲット側の負荷、ネットワーク状況などを組み合わせて分析する必要があります。詳細については、DTS性能チューニングのベストプラクティスを参照してください。 適用範囲
MySQL/MariaDB/Percona/TDSQL-C MySQL/TDSQL MySQL相互間のリンク。
注意事項
1. タスク設定中、またはタスクの状態が「実行中」の場合にのみ、速度制限操作を行うことができます。
2. タスクの速度を下げる際は、遅延データ量と遅延時間を注意して観察してください。DTSはデフォルトで7日間の中間データのみをキャッシュします。長期間の遅延量が大きすぎると、中間キャッシュデータが期限切れになり、タスクが完全に失敗する可能性があります。
3. フルエクスポート段階で速度を調整するとタスクが再起動されます。一部の再起動では最初から同期し直す必要がある場合があります。詳細は以下の通りです。
MySQLシリーズのデータ移行タスクは、デフォルトでロックフリー同期を使用します。ロックフリー同期シナリオでは、構造エクスポート段階、PKなしテーブルエクスポート段階でタスクを再起動すると、最初から同期し直す必要があります。PKありテーブルエクスポート段階でタスクを再起動すると、同期を継続し、最初からやり直す必要はありません。
3.1 フルエクスポート段階で再起動します。
構造エクスポート段階、PKなしテーブルエクスポート段階では、タスクを再起動すると最初から同期し直す必要があります。
PKありテーブルエクスポート段階:再試行時に、タスクが最初から同期を開始した時刻Xから、再試行操作を実行した時刻Yまでの間隔が48時間以内(48時間を含む)の場合、ブレークポイントレジュームがサポートされます。48時間を超える場合は、最初から開始する必要があります。タスクの再試行または自動再起動後に最初からの同期が発生した場合、Xは再計算されます。
3.2 フルインポート、増分同期段階での再起動:ブレークポイントレジュームをサポートしており、データ転送に影響はありません。
4. 速度制限を無効にすると、DTSは速度パラメータをデフォルト値に変更します。フルエクスポートおよびインポートのスレッド数は8、フルエクスポートおよびインポートのRPSは5000万、増分インポートのスレッド数は32です。
調整原則
DTSタスクのフルエクスポートの同時実行スレッド数はデフォルトで8です。通常は変更する必要はありません。調整が必要な場合は、監視指標とソースデータベース/ターゲットデータベースの設定を考慮し、ソースデータベース/ターゲットデータベースの性能に影響を与えないことを前提に、DTSの伝送速度を最大限に向上させてください。
DTSの伝送性能は、ソース/ターゲットデータベースの設定、DTSタスクスペック、ネットワーク遅延、ネットワーク帯域幅などと関係があります。そのため、DTSの伝送性能を向上させる際に、スレッド数だけを増やしたり、RPSだけを増やしたりしても、必ずしも効果があるとは限りません。性能ボトルネックがどの段階にあるかを分析し、具体的な問題に応じて解決する必要があります。
|
タスク設定段階 | ソースデータベースの設定が低すぎるため、DTSによる負荷の増加に対応できず、DTSタスクの開始後にソースデータベースがクラッシュします。 | ソースデータベースのエクスポートスレッド数を減らし、ソースデータベースのエクスポートRPSを下げてください。 | 有効です。 |
| ターゲットデータベースの設定が低すぎるため、DTSによる負荷の増加に対応できず、DTSタスクの開始後にターゲットデータベースがクラッシュします。 | ターゲットデータベースのインポートスレッド数を減らし、ターゲットデータベースのインポートRPSを下げてください。 | 有効です。 |
全量段階 | ソース/ターゲットデータベースの設定は高いですが、DTSのフル伝送速度は遅いです。 | ソースデータベースの設定が高い場合は、ソースデータベースのエクスポートスレッド数を増やします。 ターゲットデータベースの設定が高い場合は、ターゲットデータベースのインポートスレッド数を増やします。 フル段階ではデフォルトのRPSが非常に大きいため、伝送速度を向上させる際に通常はRPSを調整する必要はありません。 | 有効とは限りません。 調整後に効果がない場合は、ネットワーク遅延や帯域幅などの要因を確認してください。これらの要因も伝送性能に影響を与えるためです。 |
| ターゲットデータベースの設定が低く、DTSのターゲットデータベースへの書き込み速度が速すぎるため、ターゲットデータベースの負荷に影響を与えます(例えばCPU使用率が高い)。 | ターゲットデータベースのインポートスレッド数を減らし、ターゲットデータベースのインポートRPSを下げてください。 | 有効です。 |
増分段階 | ソースデータベースの設定が高く、ソースデータベースへの書き込みデータ量が多く、ネットワーク遅延が大きいです。 | RPSが上限に達しているかどうかを確認します。DTSタスクの仕様が異なると、対応するRPS上限も異なります。 RPSがすでに上限に達している場合は、まずDTSタスクスペックをアップグレードします(変配操作によって実現します)。 | タスクをアップグレードしても効果がない場合は、ネットワーク遅延や帯域幅などの要因を確認してください。これらの要因も伝送性能に影響を与えるためです。 |
| ターゲットデータベースの設定が低く、DTSのターゲットデータベースへの書き込み速度が速すぎるため、ターゲットデータベースの負荷に影響を与えます(例えばCPU使用率が高い)。 | 1. DTSタスクスペックを下げます。 2. ターゲットデータベースのインポート同時実行スレッド数を減らします。 | 有効です。 |
| ターゲットデータベースの設定が低く、DTSの接続数が多すぎるため、ターゲットデータベースのスレッドが上限に達しています。 | ターゲットデータベースのインポートスレッド数を減らしてください。 | 有効です。 |
| DTSがターゲットデータベースに書き込む際、ターゲットデータベース自体の書き込みとロック競合が発生します(例えばLock wait timeoutエラー)。 | ターゲットデータベースのインポートスレッド数を減らし、ロック競合を低減してください。 | 有効です。 |
タスク設定中の速度制限
データ移行タスクの初期設定で、ソースとターゲットデータベースの設定ページの詳細オプションで、伝送速度パラメータを設定できます。
各パラメータの説明は以下の通りです:
ソースデータベースのフルエクスポート同時実行スレッド数、ターゲットデータベースのフルインポート同時実行スレッド数:パラメータ範囲は1~16、デフォルト値は8です。
ソースデータベースのフルエクスポートRPS、ターゲットデータベースのフルインポートRPS:パラメータ範囲は0~5000万です。「0 Counts/s」はRPSを制限しないことを意味します。ここでのRPSは参考値であり、実際のRPSはソースデータベースまたはターゲットデータベースの負荷、ネットワークなどのさまざまな要因によって影響を受けます。
ターゲットデータベースの増分インポート同時実行スレッド数:パラメータ範囲は1~32、デフォルト値は32です。
タスク実行中の速度制限
タスクがフルデータ同期段階で速度制限操作を行う場合、フル+増分のレートパラメータ(フルエクスポートのスレッド数とRPS、フルインポートのスレッド数とRPS、増分インポートのスレッド数)を変更できます。タスクが増分データ同期段階で速度制限操作を行う場合、増分のレートパラメータ(増分インポートのスレッド数)のみを変更できます。具体的な操作は以下の通りです。
1. DTSコンソールにログインし、左側のナビゲーションでデータ移行ページを選択し、指定した移行タスクを選択します。 2. フルデータ移行段階で速度制限操作を行います。
操作列で詳細 > 速度制限を選択します。
表示された画面で転送速度制限スイッチをオンにし、速度パラメータを調整してから、確定をクリックします。
ソースデータベースのフルエクスポート同時実行スレッド数、ターゲットデータベースのフルインポート同時実行スレッド数:パラメータ範囲は1~16、デフォルト値は8です。
ソースデータベースのフルエクスポートRPS、ターゲットデータベースのフルエクスポートRPS:パラメータ範囲は0~5000万です。「0 Counts/s」はRPSを制限しないことを意味します。ここでのRPSは参考値であり、実際のRPSはソースデータベースまたはターゲットデータベースの負荷、ネットワークなどのさまざまな要因によって影響を受けます。
3. 増分データ移行段階で速度制限操作を行います。
操作列で詳細 > 速度制限を選択します。
転送速度制限スイッチをオンにしてから、同時実行スレッド数を調整します。
ターゲットデータベースの増分インポート同時実行スレッド数:パラメータ範囲は1~32、デフォルト値は32です。