本番トラフィック再現によるストレステスト機能は、キャプチャした本番環境の SQL トラフィックをテスト環境で再生します。この機能を使用して、トラフィックスパイクに備えたり、新規インデックスなどのスキーマ変更を検証したり、インスタンスのスケールが必要かどうかを判断したりします。実際のワークロードをシミュレーションすることで、本番環境での障害リスクを低減できます。また、クローンデータベースで障害を再現し、根本原因の診断に役立てることも可能です。
前提条件
-
SQL 洞察とストレステスト (新バージョン) が有効化されていること。
-
サポートされているリージョンは、中国 (杭州)、中国 (上海)、中国 (北京)、中国 (深セン)、シンガポールのみです。
利用シーン
-
現在のインスタンス仕様で、今後のトラフィックスパイクに対応できるかどうかを検証します。
-
スキーマ変更、特にインデックスの変更がもたらす実際の影響をテストし、デプロイメント後の障害リスクを低減します。
-
本番システムで根本原因を特定できない場合に、クローンデータベースで障害シナリオを再現し、原因を診断します。
注意事項
-
テスト中のネットワーク遅延を最小限に抑えるため、ストレステストクライアントと宛先インスタンスが同じリージョンにあることを確認してください。
説明最良の結果を得るには、ストレステストクライアントと宛先インスタンスを同じ VPC に配置することを推奨します。
-
ストレステストはソースインスタンスに影響を与えません。オフピーク時に実行する必要はありません。
-
テストを開始する前に、ストレステストクライアントと宛先インスタンス間のネットワーク接続を確認し、トラフィックが送信できることを確認してください。
操作手順
-
[SQL Explorer] タブで、[Traffic Playback and Stress Test] タブをクリックします。
-
[タスクの作成] をクリックし、ソースインスタンスを設定します。
表示されたダイアログボックスで、[タスクタイプ] を [オンラインインスタンスの再生] に設定し、[タスク名] を入力します。ソース情報エリアで、[インスタンスソース] を [Alibaba Cloud DB] に、[データベースエンジン] を [PolarDB-X] に設定します。次に、[ソースインスタンス] を選択します。リストにないインスタンスに接続する必要がある場合は、[インスタンスへのアクセス] をクリックします。その他のオプションを展開するには、[詳細設定] をクリックします。[次へ] をクリックします。
説明-
[PolarDB-X] データベースエンジンでは、この機能は現在、中国 (杭州)、中国 (上海)、中国 (北京)、中国 (深セン)、シンガポールリージョンでのみ利用可能です。
-
再生時間範囲の全体にわたって、ソースインスタンスで SQL Insight and Stress Testing (New Version) が有効になっていることを確認してください。
-
-
宛先インスタンスの設定を構成します。
パラメーター
説明
データベースタイプ
宛先インスタンスは ApsaraDB RDS for MySQL、PolarDB for MySQL、または PolarDB-X インスタンスである必要があります。
データ移行ベンチマーク
ソースインスタンスから宛先インスタンスへのベースラインデータの移行が完了しているかどうかに基づいて、メソッドを選択します。
-
バックアップによる復元:特定の時点またはバックアップセットからソースインスタンスを復元することで、宛先インスタンスを作成します。
説明-
復元方法:時点で または バックアップセット別 を選択できます。バックアップセット別 を選択した場合は、[DAS のサービスにリンクされたロール] に権限を付与する必要があります。ダイアログボックスで、確定 をクリックします。
-
復元時間/バックアップセットの選択:復元する特定の時点またはバックアップセットを選択します。
-
-
データ移行完了:宛先インスタンスのデータ移行タスクをすでに設定している場合は、このオプションを使用します。
説明ストレステストが正しく実行されるように、宛先インスタンスのテーブル構造とデータがソースインスタンスと同一であることを確認してください。
-
DTS タスク ID の入力:Data Transmission Service (DTS) コンソールでデータ移行タスクを作成済みの場合は、このオプションを使用します。完了したデータ同期タスクの タスク ID を入力します。
説明DTS を使用したデータ移行の詳細については、「データ移行」をご参照ください。
-
DTS 移行タスクの作成:DTS コンソールに移動せずに、このインターフェイスから直接 DTS データ移行タスクを作成します。
説明利用可能なデータ移行ベンチマークのメソッドは、データベースエンジンによって異なります。
ターゲットインスタンス
宛先インスタンスを選択します。デフォルトでは、システムは宛先インスタンスのプライマリエンドポイントにトラフィックを送信します。
説明宛先インスタンスの右側にある 詳細設定 をクリックすると、クラスターエンドポイントを指定して複数のノードでストレステストを実行できます。詳細設定 オプションは現在、宛先インスタンスが PolarDB for MySQL クラスターで、[ベースラインデータ移行] のステータスが [データ移行完了] の場合にのみ利用可能です。
宛先インスタンスの特権アカウント
特権アカウントのユーザー名とパスワードです。
再生トラフィックの選択
再生するトラフィックの時間範囲を選択します。
再生速度
-
この設定は、ソースインスタンスのトラフィックを宛先インスタンスで再生する速度を倍率で制御します。例えば、1x はトラフィックが元の速度で再生されることを意味します。値は 1 から 30 までの正の整数である必要があります。
-
設定した速度が宛先インスタンスでサポートされる最大速度を超える場合、タスクはインスタンスでサポートされる最大速度で実行されます。
ストレステストプログラムデプロイ用の ECS
-
[DAS による自動購入とデプロイ] を選択します。システムは、ソース QPS と再生速度に基づいて、適切な仕様の従量課金制の Elastic Compute Service (ECS) インスタンスを自動的に購入します。
-
新しい をクリックして既存の ECS インスタンスを選択し、ストレステストプログラムをデプロイします。デプロイコマンドを生成し、コピーしてインスタンス上で実行します。また、ECS インスタンスで
sudo yum install -y java-1.8.0-openjdkコマンドを実行して Java をインストールする必要があります。Java 8 の使用を推奨します。
-
-
[次へ] をクリックします。事前チェック が完了したら、確定 をクリックしてタスクを作成します。
-
操作 列で、次の操作を実行できます。
-
詳細 をクリックして [インテリジェントストレステスト詳細] ページを開き、タスクのステータスとストレステスト報告を表示します。次の表は、レポートのセクションについて説明しています。
パラメーター
説明
概要
ソースインスタンスと宛先インスタンスの基本情報の比較。
パフォーマンス傾向の比較
ソースインスタンスと宛先インスタンスのさまざまなパフォーマンスメトリクスの比較。
SQL 比較
タスク開始前に宛先インスタンスで 自律機能 が有効になっていた場合、ソースインスタンスと宛先インスタンスの SQL 実行パフォーマンスを比較できます。
説明[SQL 比較] タブは、データベースエンジンのアップグレードやインスタンス仕様の変更などのシナリオで役立ちます。
パラメータの比較
ソースインスタンスと宛先インスタンスの主要パラメーターの比較。
-
ストレステストタスクが完了する前に停止するには、[終了] をクリックします。
-
削除 をクリックしてタスクを削除します。
説明タスク完了後、[インテリジェントストレステスト詳細] ページに移動します。別のストレステストを実行する必要がない場合は、ECS インスタンスをリリースしてください。
-