すべてのプロダクト
Search
ドキュメントセンター

Migration Hub:トラフィック再生

最終更新日:Apr 10, 2025

データベースの移行は、ビジネスの安定性と継続性に直接影響を与える複雑でリスクの高いプロセスです。ターゲットデータベースの互換性とパフォーマンスは、データベースを移行する必要があるユーザーにとって常に大きな懸念事項となっています。互換性の問題やパフォーマンスのボトルネックは、移行の失敗につながり、ビジネスの中断やデータの損失を引き起こす可能性があります。移行リスクを効果的に評価し、スムーズな移行を確実にするために、トラフィック再生技術が登場しました。これは、移行前にターゲットデータベースで包括的な互換性テストとパフォーマンステストを実行できる、有益なソリューションを提供します。これにより、潜在的なリスクを最小限に抑えることができます。このトピックでは、データベースの移行中に Cloud Migration Hub のトラフィック再生機能が果たす重要な役割について説明します。また、トラフィック再生機能の使用方法についても説明します。トラフィック再生は単純なデータベース ストレス テストではなく、本番環境での実際のビジネストラフィックの完全な再生です。実際のビジネス シナリオをシミュレートして、ターゲットデータベースのパフォーマンスと互換性を包括的に検証します。これは、事前に設定されたスクリプトに基づく従来のストレステストとは根本的に異なります。ストレステストでは、実際のビジネス シナリオの複雑さと多様性を完全にカバーできないため、テスト結果に偏差が生じやすくなります。トラフィック再生技術は、本番環境の動作状態を正確に再現できるため、ターゲットデータベースのパフォーマンスと互換性をより効果的に評価できます。

1. トラフィック再生機能を使用する

トラフィック再生機能を使用するプロセスには、次の手順が含まれます。

手順 1:データを収集する。 本番環境のソースデータベースに送信された読み取りおよび書き込みリクエストをキャプチャして記録するための適切なツールを選択する必要があります。本番環境への過度の影響を防ぐために、この手順では注意が必要です。一般的なデータ収集ツールには、データベースプロキシ、ネットワークパケットキャプチャツール、データベースの監査機能などがあります。収集されたデータには、完全な SQL 文、パラメーター、実行時間などの重要な情報が含まれていることを確認してください。重要な情報は、トラフィック再生の入力として使用されます。データは、後続の手順で使用されるトラフィック再生ツールと互換性のある方法で収集およびフォーマットする必要があります。データ セキュリティを確保するために、機密情報をマスキングする必要があります。

手順 2:データを前処理する。 冗長な情報の削除、データ形式の最適化、必要に応じてデータマスキングなど、収集されたデータを前処理する必要があります。データの前処理には、データクレンジング、データ変換、データサンプリングなどの操作が含まれ、トラフィック再生の効率を向上させ、ターゲットデータベースの負荷を軽減するのに役立ちます。ターゲットデータベースの特性に基づいて SQL 文を変更して、文がターゲットデータベースで期待どおりに実行されるようにする必要がある場合があります。

手順 3:トラフィック再生を実行する。 前処理されたデータは、再生のためにトラフィック再生ツールにインポートされます。トラフィック再生ツールは、実際のビジネストラフィックをシミュレートし、ターゲットデータベースへの同時アクセスを実行して、データベースのパフォーマンスと互換性を評価します。このプロセス中に、システムはターゲットデータベースの CPU 使用率、メモリ使用量、I/O パフォーマンスなどの主要なメトリックを監視し、再生中に報告されたエラー情報と例外を記録します。トラフィック再生ツールを使用すると、再生速度や同時実行レベルなどの設定をカスタマイズして、さまざまなビジネス シナリオをシミュレートできます。

手順 4:結果を分析する。トラフィック再生が完了したら、結果データを分析して、ターゲットデータベースのパフォーマンスと互換性を評価できます。たとえば、データベースの応答時間、スループット、エラー率、リソース使用率などのメトリックを分析できます。これにより、潜在的なパフォーマンスのボトルネックと互換性の問題を特定し、データベース移行ソリューションを最適化するための基礎を提供します。さらに、再生中に報告されたエラー情報を分析し、根本原因を突き止め、エラーを解決するための対応策を講じる必要があります。

手順 5:レポートを生成する。 詳細なトラフィック再生レポートを生成して、テスト結果を要約し、改善のための提案を提供できます。レポートには、テスト環境の構成、テストデータの概要、パフォーマンスメトリック、エラー情報などの情報が含まれていることを確認して、データベース移行の決定に関する重要なリファレンスを提供します。

上記の手順に従ってトラフィック再生機能を使用すると、ターゲットデータベースの互換性とパフォーマンスを効果的に評価し、移行リスクを軽減し、スムーズなデータベース移行を確実にすることができます。この機能は、データベース移行プロジェクトの信頼できる分析統計を提供します。これにより、企業はビジネスの中断を最小限に抑え、低コストでデータベースをスムーズに移行できます。トラフィック再生ツールを適切に使用することで、データベース移行プロジェクトの成功率を効果的に向上させることができます。

2. 新旧バージョンのトラフィック再生の比較

トラフィック再生のユーザー エクスペリエンスを向上させるために、Cloud Migration Hub は旧バージョンを保持しながら、新バージョンのトラフィック再生を提供しています。新旧バージョンのトラフィック再生のページを切り替えることができます。次の要件が満たされている場合にのみ、新バージョンのトラフィック再生を使用できます。

  1. データベース Alibaba Cloud にデプロイされている場合、それらはターゲットデータベースとして使用されます。[結果の比較] 再生タイプを使用する場合、ソースデータベースが、ターゲットデータベースがデプロイされている VPC (仮想プライベートクラウド)に接続されていることを確認してください。

  2. トラフィック再生エージェントは、Cloud Migration Hub によって自動的に作成された ECS インスタンスにデプロイされます。ECS インスタンスは、4 コア、8 GB のメモリ、100 GB のシステム ディスクの仕様を使用します。仕様がビジネス要件を満たしていることを確認してください。再生圧力は、ECS インスタンスの数に単一インスタンスの圧力を掛けて計算できます。再生圧力を上げる必要がある場合は、再生スケジュールの詳細ページの [インスタンスの概要] セクションで [拡張] をクリックして、ECS インスタンスの数を増やすことができます。

  3. 収集された SQL トラフィックデータを含むファイルは、Object Storage Service(OSS)に保存されます。このタイプのファイルは SQL ファイルと呼ばれます。新しいバージョンでは、SQL ファイルは使用されている ECS インスタンスの /home/ ディレクトリに OSS から自動的にダウンロードされます。SQL ファイルのサイズが 20 GB を超える場合は、旧バージョンのトラフィック再生を使用することをお勧めします。

上記の要件が満たされていない場合、またはカスタムサーバーにトラフィック再生エージェントをデプロイする場合は、旧バージョンのトラフィック再生のページに移動することをお勧めします。

3. 新バージョンのトラフィック再生

前提条件:

  • 新バージョンのトラフィック再生のページが表示されます。

  • データソースの本番トラフィックがキャプチャされます。データソースに基づいてキャプチャ方法を選択できます。トラフィックデータが収集されたら、データをトラフィック再生に必要な JSON 形式に変換する必要があります。JSON 形式の詳細については、replay_sql_example.json ファイルをご参照ください。

  • トラフィック再生に必要な JSON ファイルは、OSS バケットにアップロードされます。バケットがターゲットデータベースと同じリージョンにあることを確認してください。このタイプのファイルは再生ファイルと呼ばれます。

トラフィック再生機能を使用する全体的なプロセスは、再生スケジュールを作成し、再生スケジュールで再生タスクを作成するという 2 つの手順で構成されます。再生スケジュールには複数の再生タスクを含めることができます。この機能を使用するには、Cloud Migration Hub コンソールにログインします。左側のナビゲーションウィンドウで、[移行機能] > [トラフィック再生] を選択します。表示されるページの右上隅にある [新版に移動] をクリックします。

image

3.1 再生スケジュールを作成する

Cloud Migration Hub コンソールにログインします。左側のナビゲーションウィンドウで、[移行機能] > [トラフィック再生] を選択します。表示されるページで、[新しい再生スケジュール] をクリックします。

image

手順 1:基本情報を構成する

再生スケジュールを作成するときは、[再生タイプ] パラメーターを [トラフィック再生] または [結果の比較] に設定できます。パラメーターを [トラフィック再生] に設定すると、システムは再生ファイルの SQL 文をデータターゲットで実行し、実行が成功したかどうかを確認します。パラメーターを [結果の比較] に設定すると、システムはデータソースとターゲットの両方で SQL 文を実行し、実行結果を比較し、比較中に見つかった不一致の詳細を表示します。

image

次の図は、サポートされているソースデータベースとターゲットデータベースのタイプを示しています。

image

[取得方法] パラメーターは、[インスタンス取得] にのみ設定できます。このパラメーターは、ソースデータベースとターゲットデータベースに関する情報を取得する方法を指定します。インスタンスのリージョンと ID、データベースの名前、データベースへのログインに使用するユーザー名とパスワードを指定する必要があります。

image

再生ファイルの形式を選択できます。

[再生インスタンス] パラメーターは、トラフィック再生エージェントがデプロイされている ECS インスタンスに設定できます。このタイプの ECS インスタンスは、再生インスタンスと呼ばれます。インスタンスがターゲットデータベースに接続されていることを確認してください。再生インスタンスがない場合は、ドロップダウンリストの [新しいインスタンスを作成] をクリックします。再生インスタンスが使用可能な場合は、ドロップダウンリストから既存のインスタンスを選択します。

重要
  1. Cloud Migration Hub は、ネットワークタイプが VPC である ECS インスタンスを自動的に作成します。デフォルトでは、インスタンスは 4 コア、8 GB のメモリ、100 GB のシステム ディスクの仕様を使用します。インスタンスの料金が発生します。仕様がビジネス要件を満たしていない場合、または別のサーバーにトラフィック再生エージェントをデプロイする場合は、旧バージョンのトラフィック再生に切り替えることができます。

  2. Cloud Migration Hub は、ターゲットデータベースのリージョン、ゾーン、VPC に存在する ECS インスタンスを自動的に作成します。[結果の比較] 再生タイプを使用する場合は、ソースデータベースを再生インスタンスに手動で接続する必要があります。

  3. [新しいインスタンスを作成] をクリックすると、Cloud Migration Hub は 1 つの ECS インスタンスのみを自動的に作成します。さらに再生インスタンスが必要な場合は、再生スケジュールの詳細ページで [拡張] をクリックします。

image

[再生ファイルのバケットアドレス] パラメーターは、再生ファイルを保存する OSS バケットに設定できます。ドロップダウンリストにバケットが表示されない場合は、[バケットを作成] をクリックします。

image

手順 2:パラメーターを構成する

シミュレートされたクライアントの数:再生の同時スレッドの数。値が大きいほど、同時実行の度合いが高くなります。

再生速度係数:再生速度。値が大きいほど、速度が速くなります。たとえば、値 1 は速度ブーストなし、値 2 は元の速度の 2 倍、値 10 は元の速度の 10 倍を指定します。

image

3.2 再生スケジュールを表示する

再生スケジュールが作成されると、[トラフィック再生] ページに表示されます。このページでは、アカウント内で作成されたすべての再生スケジュールを表示できます。再生スケジュールの名前または [操作] 列の [詳細] をクリックして、再生スケジュールの詳細ページに移動できます。新しいバージョンのページでは、新しいバージョンで作成された再生スケジュールの詳細のみを表示できます。旧バージョンのページでは、旧バージョンで作成された再生スケジュールの詳細のみを表示できます。

image

基本情報:スケジュール ID、ソースデータベースとターゲットデータベースのタイプ、最後の再生タスクのステータス、スケジュールが作成された時刻、SQL ファイルへのパスなどの情報が表示されます。

タスクの概要:実行された再生タスクの数、最後の再生タスクの成功率、成功したリクエストの数、リクエストの総数、関連付けられている再生インスタンスなど、再生スケジュール内のすべての再生タスクに関する概要情報が表示されます。

タスクリスト:再生スケジュール内のすべての再生タスクが表示されます。

image

3.3 再生インスタンスを表示する

再生スケジュールを作成したら、自動的に作成されたインスタンスと選択された既存の再生インスタンスなど、スケジュールに関連付けられている再生インスタンスをスケジュールの詳細ページで表示できます。インスタンスごとに [進捗状況を表示] をクリックして、インスタンスデプロイの進捗状況を表示できます。

image

さらに再生インスタンスを再生スケジュールに関連付ける場合は、[インスタンスの概要] セクションで [拡張] をクリックします。表示されるポップオーバーで、追加する再生インスタンスの数を入力します。Cloud Migration Hub は、必要な再生インスタンスを自動的に作成し、インスタンスをスケジュールに関連付けます。

再生スケジュールで再生インスタンスを使用しなくなった場合は、[インスタンスの概要] セクションで [解放] をクリックして、スケジュールからインスタンスの関連付けを解除します。

説明
  1. 再生インスタンスが現在および他の再生スケジュールで使用されている場合、[解放] をクリックした後、インスタンスの関連付けは解除されますが、削除されません。再生インスタンスが現在の再生スケジュールのみで使用されている場合、インスタンスの関連付けが解除され、削除されます。

  2. 再生インスタンスにログインする場合は、インスタンスの名前をクリックします。ECS コンソールのインスタンスの詳細ページにリダイレクトされます。[インスタンスの詳細] タブで、[その他の情報] セクションに移動し、[説明] パラメーターを見つけて、ログイン用のパスワードを取得します。

image

3.4 再生タスクを作成する

再生スケジュールを作成したら、再生スケジュールの詳細ページで再生タスクを作成できます。

image

[タスクを作成] をクリックして、再生タスクを作成できます。再生タスクが作成されても、すぐに実行されるわけではありません。タスクを実行するには、[実行] をクリックする必要があります。したがって、テスト中に実行せずに再生タスクを作成できます。以下に、主要なパラメーターを示します。

[再生インスタンスを選択]:正常な状態の再生インスタンスを選択します。

[再生ファイル]:再生スケジュールの関連付けられている OSS バケットにアップロードされた再生ファイルを選択します。再生タスクが作成されるたびに、ファイルは指定された再生インスタンスにダウンロードされます。

シミュレートされたクライアントの数再生の同時スレッドの数を指定します。

再生速度係数再生速度を指定します。有効な値は 1、2、10 です。値 1 は速度ブーストなし、値 2 は元の速度の 2 倍、値 10 は元の速度の 10 倍を指定します。

ループ再生するかどうかループ再生を有効にするかどうかを指定します。ループ再生が有効になっている場合、[再生速度係数] パラメーターは有効にならず、再生は最大圧力下で実行されます。ループ再生が有効になると、[再生実行時間] パラメーターで指定された期間が経過すると再生が停止します。ループ再生中、INSERT 文や UPDATE 文など、データを書き込む SQL 文で繰り返しエラーが報告される場合があります。再生中は、データクエリ言語(DQL)文のみを実行することをお勧めします。

再生実行時間再生期間を指定します。単位:秒。期間が経過すると、再生は自動的に停止します。

スキーママッピングとフィルタリングスキーマのマッピング関係を指定します。たとえば、schema1:schema2,schema2 は、schema1 と schema2 で再生が実行され、schema1 が schema2 にマッピングされることを示します。

SQL タイムアウトSQL 文を実行するためのタイムアウト期間を指定します。

コミットするかどうかトランザクションをコミットするかどうかを指定します。デフォルトでは、トラフィック再生ツール frodo はトランザクションを有効にしてトラフィックを再生します。SQL 文が実行された後、ロールバックされ、関連するトランザクションはコミットされません。トランザクションをコミットする必要がある場合は、このパラメーターを [はい] に設定します。

SQL エラーレポートをスキップするかどうかエラーが報告された SQL 文と同じフィンガープリントを持つ SQL 文をスキップするかどうかを指定します。デフォルト値は [いいえ] です。

image

[次のステップ] をクリックして、[事前チェック] ステップに進みます。システムが事前チェックに失敗した項目を検出した場合、再生タスクの作成はブロックされます。エラーを解決し、事前チェックを再度実行する必要があります。事前チェック中にアラートが報告された場合、作成はブロックされません。

image

事前チェックに合格したら、[完了] をクリックします。再生タスクの実行方法と表示方法の詳細については、旧バージョンのトラフィック再生の説明をご参照ください。

image

image

4. 旧バージョンのトラフィック再生

4.1 ライセンスを申請して表示する

Cloud Migration Hub コンソールにログインします。左側のナビゲーションウィンドウで、[移行機能] > [トラフィック再生] を選択します。トラフィック再生機能を初めて使用する場合は、表示されるページで使用ガイドを参照できます。最初のステップは、[ライセンスの申請] をクリックすることです。その後、ライセンスが自動的に生成されます。ライセンスは、トラフィック再生エージェントを保護し、エージェントの悪用を防ぐために使用されます。ライセンス、エージェント、またはトラフィック再生に対して課金されることはありません。ただし、エージェントをデプロイするために ECS インスタンスを購入する費用は発生します。

image

ライセンスを申請した後、ライセンスの有効期間(デフォルトでは 3 か月)を表示できます。[ライセンスの表示] をクリックして、ライセンスの内容をコピーすることもできます。

image

4.2 トラフィック再生エージェントを管理する

ライセンスを申請した後、トラフィック再生エージェントをデプロイする必要があります。エージェントをデプロイするには、1 つ以上の ECS インスタンスを準備する必要があります。ビジネス要件に基づいて ECS インスタンスの数を決定できます。

推奨される ECS インスタンスの仕様:8 CPU コア、16 GB 以上のメモリ。

推奨されるオペレーティングシステム:CentOS または Alibaba Cloud Linux。

ネットワーク要件:ECS インスタンスはデータソースに接続されています。

その他の要件:エージェントをデプロイする前に、ECS インスタンスに Java がインストールされている必要があります。

デプロイの説明:

Cloud Assistant がインストールされている Alibaba Cloud ECS インスタンス にエージェントをデプロイする場合は、自動メソッド を使用してエージェントをデプロイすることをお勧めします。デフォルトでは、Cloud Assistant は Alibaba Cloud ECS インスタンスにインストールされています。

サードパーティクラウドサーバー(Alibaba Cloud VPC に接続されている) または Cloud Assistant がインストールされていないか、特定の理由でインストールに失敗した Alibaba Cloud ECS インスタンスにエージェントをデプロイする場合は、手動 - プライベートネットワークメソッド を使用してエージェントをデプロイすることをお勧めします。

Alibaba Cloud VPC に接続されていない パブリック IP アドレスを使用するサードパーティクラウドサーバーにエージェントをデプロイする場合は、手動 - パブリックネットワークメソッド を使用してエージェントをデプロイすることをお勧めします。

以下のセクションでは、3 つのタイプのデプロイ方法について説明します。

4.2.1 自動

この方法は、中国(杭州) および 中国(上海) リージョンでのみサポートされています。他のリージョンでこの方法を使用する場合は、オンラインアフターセールスにお問い合わせください。

次の情報に注意してください。

  • この方法は、Alibaba Cloud ECS インスタンスを使用する場合にのみ使用できます。

  • エージェントをデプロイする前に、PrivateLink をアクティブ化する必要があります。

必要な ECS インスタンスを準備した後、[エージェント管理]をクリックします。

image

表示されるパネルで、[エージェントのインストール]をクリックします。

image

表示されるダイアログボックスで、[インストール方法] パラメーターを [自動デプロイ] に設定し、エージェント名を入力し、エージェントをデプロイするリージョンとエージェントをインストールする ECS インスタンスを選択して、[インストール]をクリックします。

image

デプロイプロセス中に、エージェントのデプロイの進捗状況を表示できます。

image

エージェントがデプロイされたら、エージェントリストでエージェントを表示できます。

image

4.2.2 手動

4.2.2.1 手動 - パブリックネットワーク

この方法を使用するには、ECS インスタンスがインターネット経由でアクセス可能であり、Cloud Migration Hub がインスタンスに接続できることを確認してください。

次の情報に注意してください。

  • Alibaba Cloud ECS インスタンス、サードパーティクラウドサービスプロバイダーのクラウドサーバー、データセンターのサーバーを使用できます。Cloud Migration Hub がインターネット経由でサーバーにアクセスできることを確認してください。

必要な ECS インスタンスを準備した後、[エージェント管理]をクリックします。

image

表示されるパネルで、[エージェントのインストール]をクリックします。

image

表示されるダイアログボックスで、[インストール方法] パラメーターを [手動デプロイ] に設定し、エージェント名を入力し、[LoadBalancerType] パラメーターを [パブリックネットワーク] に設定し、[IP アドレス][ポート番号] を入力して、[次のステップ]をクリックします。

image

次の [エージェントのインストール] ステップで、インストール コマンドが表示されます。 [Click] コピー コマンドをコピーし、ECS インスタンスでコマンドを実行してエージェントをインストールします。

image

エージェントがインストールされたら、[次のステップ]。 [[ネットワークを通過する] ステップで、[クリック] 接続 エージェントに接続するためです。

image

オンラインで接続の進捗状況を表示できます。

image

エージェントがデプロイされたら、エージェントリストでエージェントを表示できます。

4.2.2.2 手動 - プライベートネットワーク

この方法は、中国(杭州)および中国(上海)リージョンでのみサポートされています。他のリージョンでこの方法を使用する場合は、オンラインアフターセールスにお問い合わせください。中国 (杭州) および 中国 (上海) リージョンです。その他のリージョンでこの方法を使用する場合は、オンライン アフターサービスにお問い合わせください。

次の情報に注意してください。

  • Alibaba Cloud ECS インスタンスまたはサードパーティクラウドサーバーを使用できます。サーバーが Alibaba Cloud VPC に接続されていることを確認してください。

  • エージェントをデプロイする前に、PrivateLink をアクティブ化する必要があります。

必要な ECS インスタンスを準備した後、[エージェント管理]をクリックします。

image

表示されるパネルで、[エージェントのインストール]をクリックします。

image

表示されるダイアログボックスで、[インストール方法] パラメーターを [手動デプロイ] に設定し、エージェント名を入力し、[LoadBalancerType] パラメーターを [プライベートネットワーク] に設定し、[リージョン][VPC] を選択し、[IP アドレス][ポート番号] を入力して、[次のステップ]をクリックします。

image

次の [エージェントのインストール]コピー コマンドをコピーし、ECS インスタンスでコマンドを実行してエージェントをインストールします。

image

エージェントがインストールされたら、[次のステップ]。 [[ネットワークを通過する] ステップで、クリックします 接続 エージェントに接続します。

image

オンラインで接続の進捗状況を表示できます。

image

エージェントがデプロイされたら、エージェントリストでエージェントを表示できます。

4.2.3 エージェント管理操作

4.2.3.1 停止

自動メソッドを使用してエージェントをデプロイし、エージェントが [オンライン] 状態の場合は、[停止] をクリックしてエージェントを停止できます。

image

エージェントが停止すると、エージェントは関連する ECS インスタンスでの実行を停止し、エージェントのステータスはエージェントリストで [停止] に変わります。トラフィック再生タスクが [停止] 状態のエージェントを使用している場合、タスクを実行できません。

image

4.2.3.2 開始

エージェントが [停止] 状態の場合は、開始 をクリックしてエージェントを開始できます。

image

エージェントが開始されると、エージェントのステータスは [オンライン] に変わります。

4.2.3.3 削除

エージェントが不要になった場合は、削除 をクリックして、エージェントリストのエージェントを削除できます。エージェントを削除するには、まずエージェントを関連する再生スケジュールからバインド解除する必要があります。

image

4.2.3.4 再接続

エージェントが手動でデプロイされ、切断された場合、エージェントのステータスは オフライン に変更されます。 [再接続] をクリックすると、Cloud Migration Hub とエージェント間の新しい接続を確立できます。

image

接続が確立されると、エージェントのステータスは [オンライン] に変わります。

4.3 再生スケジュールを作成する

4.3.1 再生スケジュールを作成する

前提条件

  • トラフィック再生エージェントがインストールされています

  • データソースの本番トラフィックがキャプチャされます。キャプチャ方法 は、データソースに基づいて選択できます。トラフィックデータが収集されたら、データをトラフィック再生に必要な JSON 形式に変換する必要があります。JSON 形式の詳細については、replay_sql_example.json ファイルをご参照ください。

  • トラフィック再生に必要な JSON ファイルは、エージェントがインストールされている ECS インスタンスにアップロードされます

トラフィック再生エージェントをインストールしたら、再生スケジュールを作成できます。全体的なプロセスは、再生スケジュールを作成し、再生スケジュールで再生タスクを作成するという 2 つの手順で構成されます。再生スケジュールには複数の再生タスクを含めることができます。

Cloud Migration Hub コンソールにログオンします。左側のナビゲーションウィンドウで、[移行機能] > [トラフィック再生] を選択します。表示されるページで、[新規再生スケジュール] をクリックします。

image

手順 1:基本情報を構成する

[再生タイプ] パラメーターを [トラフィック再生] または [結果の比較] に設定できます。パラメーターを [トラフィック再生] に設定すると、システムは再生ファイルの SQL 文をデータターゲットで実行し、実行が成功したかどうかを確認します。パラメーターを [結果の比較] に設定すると、システムはデータソースとターゲットの両方で SQL 文を実行し、実行結果を比較し、比較中に見つかった不一致の詳細を表示します。

image

次の図は、サポートされているソースデータベースとターゲットデータベースのタイプを示しています。

image

image

[取得方法] パラメーターを [インスタンス取得] または [アドレス取得] に設定できます。このパラメーターは、ソースデータベースとターゲットデータベースに関する情報を取得する方法を指定します。一部のタイプのデータベースは、[インスタンス取得] をサポートしていません。パラメーターを [インスタンス取得] に設定した場合は、インスタンスのリージョンと ID、データベースの名前、データベースへのログインに使用するユーザー名とパスワードを指定する必要があります。パラメーターを [アドレス取得] に設定した場合は、必要な IP アドレスとポート、データベースの名前、データベースへのログインに使用するユーザー名とパスワードを指定する必要があります。

image

[SQL ファイルのパス] フィールドに、エージェントがインストールされている ECS インスタンスにアップロードされた再生ファイルへの絶対パスを入力する必要があります。

次に、再生ファイルの形式を選択します。

正常な状態のエージェントのみを選択でき、接続テストに合格する必要があります。再生スケジュールが作成されたら、期待どおりに再生タスクを作成して実行できます。

手順 2:パラメーターを構成する

シミュレートされたクライアントの数:再生の同時スレッドの数。値が大きいほど、同時実行の度合いが高くなります。

再生速度係数:再生速度。値が大きいほど、速度が速くなります。たとえば、値 1 は速度ブーストなし、値 2 は元の速度の 2 倍、値 10 は元の速度の 10 倍を指定します。

image

4.3.2 再生スケジュールを表示する

再生スケジュールが作成されると、[トラフィック再生] ページに表示されます。このページでは、アカウント内で作成されたすべての再生スケジュールを表示できます。再生スケジュールの名前または [操作] 列の [詳細] をクリックして、再生スケジュールの詳細ページに移動できます。

image

基本情報:スケジュール ID、ソースデータベースとターゲットデータベースのタイプ、最後の再生タスクのステータス、スケジュールが作成された時刻、SQL ファイルへのパスなどの情報が表示されます。

タスクの概要:実行された再生タスクの数、最後の再生タスクの成功率、成功したリクエストの数、リクエストの総数、再生スケジュールに関連付けられているエージェントなど、再生スケジュール内のすべての再生タスクに関する概要情報が表示されます。

タスクリスト:再生スケジュール内のすべての再生タスクが表示されます。

image

4.3.3 再生タスクを作成する

再生スケジュールを作成したら、再生スケジュールの詳細ページで再生タスクを作成できます。

image

[タスクを作成] をクリックして、再生タスクを作成できます。再生タスクが作成されても、すぐに実行されるわけではありません。タスクを実行するには、[実行] をクリックする必要があります。したがって、テスト中に実行せずに再生タスクを作成できます。以下に、主要なパラメーターを示します。

エージェントの選択:正常な状態のエージェントを選択します。

シミュレートされたクライアントの数再生の同時スレッドの数を指定します。

再生速度係数再生速度を指定します。有効な値は 1、2、10 です。値 1 は速度ブーストなし、値 2 は元の速度の 2 倍、値 10 は元の速度の 10 倍を指定します。

ループ再生するかどうかループ再生を有効にするかどうかを指定します。ループ再生が有効になっている場合、[再生速度係数] パラメーターは有効にならず、再生は最大圧力下で実行されます。ループ再生が有効になると、[再生実行時間] パラメーターで指定された期間が経過すると再生が停止します。ループ再生中、INSERT 文や UPDATE 文など、データを書き込む SQL 文で繰り返しエラーが報告される場合があります。再生中は、データクエリ言語(DQL)文のみを実行することをお勧めします。

再生実行時間再生期間を指定します。単位:秒。期間が経過すると、再生は自動的に停止します。

スキーママッピングとフィルタリングスキーマのマッピング関係を指定します。たとえば、schema1:schema2,schema2 は、schema1 と schema2 で再生が実行され、schema1 が schema2 にマッピングされることを示します。

SQL タイムアウトSQL 文を実行するためのタイムアウト期間を指定します。

コミットするかどうかトランザクションをコミットするかどうかを指定します。デフォルトでは、トラフィック再生ツール frodo はトランザクションを有効にしてトラフィックを再生します。SQL 文が実行された後、ロールバックされ、関連するトランザクションはコミットされません。トランザクションをコミットする必要がある場合は、このパラメーターを [はい] に設定します。

SQL エラーレポートをスキップするかどうかエラーが報告された SQL 文と同じフィンガープリントを持つ SQL 文をスキップするかどうかを指定します。デフォルト値は [いいえ] です。

image

再生タスクを作成した後、[操作] 列の [実行] をクリックしてタスクを実行します。

image

4.3.4 再生タスクの進捗状況を表示する

再生タスクを作成した後、[ステータス] 列の [進捗状況を表示] をクリックして、タスクの進捗状況を表示できます。

image

image

4.3.5 再生レポートを表示する

再生タスクが実行された後、[操作] 列の [詳細] をクリックして、再生レポートを表示できます。

image

リクエストの概要:リクエストの総数、平均実行時間、平均応答時間が表示されます。

実行の詳細: 各 SQL テンプレートの実行情報をリストで表示します。情報には、サンプル SQL 文スキーマ、実行ステータス、リクエスト数、リクエストエラー数、およびソースデータベースとターゲットデータベースの応答時間が含まれます。操作 列の [エラーメッセージ] をクリックして、エラー情報を表示することもできます。

レポートのエクスポート:レポートを EXCEL ファイルにエクスポートできます。

image

5. FAQ

5.1 再生タスクログの保存位置と説明は何ですか?

エージェントディレクトリ構造

エージェントディレクトリ(デフォルト値:/home/frodo/)

└── <エージェント名>/

├── log/

│ └── application-<エージェント名>.log

├── run/

│ └── replay-task-<回数>/

│ ├── result/

│ │ └── result.xlsx

│ ├── access.log

│ ├── detail.csv

│ └── error.log

├── sharding/

│ ├── merge.json/

│ │ ├── .last_md5

│ │ └── .shard<回数>

├── database.db

├── frodo-agent-1.0.jar

└── install.sh

  • /<エージェントディレクトリ>/log/application-<エージェント名>.log

    • このファイルには、エージェント実行ログが含まれています。

  • /<エージェントディレクトリ>/run/replay-task-<回数>/result/result.xlsx

    • このファイルには、n 回目の再生タスクの結果の詳細(タスクの概要と SQL の詳細を含む)が含まれています。

  • /<エージェントディレクトリ>/run/replay-task-<回数>/access.log

    • このファイルには、n 回目の再生タスクの実行の詳細(タスクの進捗状況とリクエストの数を含む)が含まれています。

  • /<エージェントディレクトリ>/run/replay-task-<回数>/detail.csv

    • このファイルには、n 回目の再生タスクの SQL 実行の詳細が含まれています。

    • このファイルを取得するには、再生タスクの作成時に、[詳細設定] セクションの [詳細な SQL 再生ログを有効にするかどうか] パラメーターを [はい] に設定する必要があります。

  • /<エージェントディレクトリ>/run/replay-task-<回数>/error.log

    • このファイルには、n 回目の再生タスクのエラーログが含まれています。

  • /<エージェントディレクトリ>/sharding/merge.json/

    • このファイルには、SQL ファイルのシャーディングデータが含まれています。

5.2 エージェントのデプロイの失敗をトラブルシューティングするにはどうすればよいですか?

  1. [ECS コンソール] にログインします。左側のナビゲーションウィンドウで、[メンテナンスと監視] > [Cloud Assistant] を選択します。表示されるページで、[コマンド実行結果] タブをクリックして、エージェントインストールコマンドが正常に実行されたかどうかを確認します。

  2. /<エージェントディレクトリ>/log/application-<エージェント名>.log ファイルを開いて、エージェント実行ログを表示します。