このトピックでは、メジャーバージョンアップグレードの前にトラフィック再生とストレステストを実行する方法について説明します。
概要
Database Autonomy Service ( DAS ) は、トラフィック再生とストレステスト機能を提供します。PolarDB メジャーバージョンをアップグレードする前に、トラフィック再生とストレステスト機能を使用して、指定されたバージョンの PolarDB クラスタで実行されているビジネストラフィックをシミュレートできます。これにより、次の目標を達成できます。
ビジネストラフィックの急増に効果的に対応するために、クラスタをスケールアップする必要があるかどうかを確認します。
PolarDB クラスタのソースバージョンとデスティネーションバージョン間で SQL 実行のパフォーマンスの違いを分析します。
前提条件
トラフィック再生とストレステストのために、アップグレードされたクラスタと同じメジャーバージョンのクラスタが作成されます。トラフィック再生とストレステストタスクを構成するときに、クラスタを購入することもできます。このクラスタは、トラフィック再生およびストレステストクラスタと呼ばれます。
説明本番環境では、トラフィック再生およびストレステストクラスタを使用しないでください。
ソースクラスタとトラフィック再生およびストレステストクラスタの両方が DAS に接続されています。詳細については、「Alibaba Cloud データベースインスタンスを DAS に接続する」をご参照ください。
ソースクラスタとトラフィック再生およびストレステストクラスタの両方に対して DAS Professional Edition が購入されています。詳細については、「DAS Professional Edition を購入する」をご参照ください。
ストレステストクライアントとして機能するために、トラフィック再生およびストレステストクラスタと同じリージョンにある ECS インスタンスが作成されます。トラフィック再生とストレステストタスクを構成するときに、ECS インスタンスを購入することもできます。
説明ストレステストクライアントとトラフィック再生およびストレステストクラスタを同じ VPC にデプロイすることをお勧めします。
注意事項
ストレステストは、ソースインスタンスのパフォーマンスに影響を与えません。オフピーク時にストレステストを実行する必要はありません。
トラフィック再生とストレステストを開始する前に、ストレステストクライアントとトラフィック再生およびストレステストクラスタ間の接続を確認してください。ストレステストクライアントがトラフィック再生およびストレステストクラスタにトラフィックを送信できることを確認してください。
料金
トラフィック再生とストレステストでは、次の料金が発生します。
DAS Professional Edition の購入料金。詳細については、「DAS Professional Edition の概要」をご参照ください。
DTS を介したデータ移行の料金。詳細については、「課金対象項目」をご参照ください。
トラフィック再生およびストレステストクラスタの購入料金(オプション)。詳細については、「課金対象項目の概要」をご参照ください。既存のインスタンスを使用する場合は、この項目をスキップできます。
ストレステストクライアントの購入料金(オプション)。トラフィック再生とストレステストタスクを構成するときに、新しい ECS インスタンスをストレステストクライアントとして購入することを選択した場合、システムはソースインスタンス QPS と指定された再生率に基づいて、適切な仕様の従量課金 ECS インスタンスを選択します。詳細については、「インスタンスタイプの課金」をご参照ください。
手順
ストレステストタスクを作成する
次の例では、トラフィック再生ストレステストタスクが作成されます。
DAS コンソール にログインします。
左側のナビゲーションウィンドウで、[トラフィック再生とストレステスト] をクリックします。
[タスクセンター] ページで、右上隅にある [タスクの作成] をクリックします。
[タスクの作成] ダイアログボックスで、パラメータを構成します。
パラメータ
説明
タスクタイプ
トラフィック再生ストレステスト を選択します。
タスク名
ストレステストタスクの名前。名前は 2 ~ 50 文字の長さでなければなりません。
インスタンスソース
Alibaba Cloud データベース を選択します。
データベースエンジン
ソースインスタンスのタイプ。PolarDB for MySQL を選択します。
ソースインスタンス
ソースインスタンス の ID。
詳細設定
ソースインスタンス内の 1 つ以上のデータベースでトラフィック再生とストレステストを実行する場合は、[詳細設定] をクリックして、デスティネーションデータベースの データベースアカウント と パスワード を指定します。 [データベースの取得] をクリックして必要なデータベースを取得し、トラフィック再生とストレステストを実行するデスティネーションデータベースを選択します。
[次へ] をクリックし、次のパラメーターを構成します。
パラメータ
説明
データベースエンジン
デスティネーションインスタンスのタイプ。 PolarDB for MySQL を選択します。
ベンチマークデータ移行
DTS 移行タスクの作成 を選択します。
説明DTS 移行タスクの作成 を選択すると、システムはデータ移行タスクを作成します。DTS コンソール に移動する必要はありません。
DTS 移行タスクの仕様
DTS 移行タスクの仕様。
デスティネーションインスタンス
トラフィック再生およびストレステストクラスタ。デフォルトでは、システムはトラフィック再生およびストレステストクラスタのプライマリエンドポイントにアクセスします。
デスティネーションインスタンスの特権アカウント
トラフィック再生およびストレステストクラスタの特権アカウントのユーザー名とパスワード。
ソースインスタンスの特権アカウント
ソースインスタンスの特権アカウントのユーザー名とパスワード。
再生トラフィックの選択
トラフィックが再生される時間範囲。
説明指定された時間範囲内で、ソースインスタンスに対して SQL エクスプローラと監査 機能が有効になっていることを確認してください。
再生速度
ソースインスタンスからキャプチャされたトラフィックがトラフィック再生およびストレステストクラスタで再生されるレート。たとえば、このパラメータを 1 に設定すると、トラフィックは元のレートでトラフィック再生およびストレステストクラスタで再生されます。再生レートは正の整数である必要があります。有効値:1 ~ 30。
説明指定された再生レートが、トラフィック再生およびストレステストクラスタでサポートされている最大再生レートよりも高い場合、トラフィックは最大再生レートで再生されます。
詳細設定
ストレステストプログラムをデプロイする ECS を選択します。
説明DAS 自動購入とデプロイ にパラメータを設定すると、システムはソースインスタンスの QPS と指定された再生レートに基づいて従量課金 ECS インスタンスを作成します。
既存の ECS インスタンスにストレステストプログラムをデプロイする場合は、[追加] をクリックして ECS インスタンスを選択し、[デプロイコマンドの生成] をクリックします。次に、生成されたコマンドをコピーし、ECS インスタンスでコマンドを実行します。さらに、
sudo yum install -y java-1.8.0-openjdkコマンドを実行して、追加された ECS インスタンスに Java クライアントをインストールする必要があります。Java 8 をインストールすることをお勧めします。
[次へ] をクリックします。
[OK] をクリックします。
トラフィック再生とストレステストの詳細を表示する
ストレステストタスクが作成されると、[タスクセンター] ページでストレステストタスクに関する情報を表示できます。[アクション] 列で次の操作を実行できます。
[詳細] をクリックすると、[トラフィック再生とストレステストの詳細] ページにストレステストタスクの状態とレポートが表示されます。次の表にパラメータを示します。
パラメータ
説明
クラスタレベルの概要
ストレステストタスクの前後で、ソースインスタンスとデスティネーションインスタンスの基本情報を比較できます。
パフォーマンストレンドの比較
ストレステストタスクの前後で、ソースインスタンスとデスティネーションインスタンスから収集されたパフォーマンスメトリックを比較できます。
SQL の比較
ストレステストの前に、デスティネーションインスタンスに対して Autonomy Service の有効化 スイッチが有効または無効になっている場合、ストレステスト中に SQL 実行のパフォーマンスデータが収集されます。ストレステストタスクの前後で、ソースインスタンスとデスティネーションインスタンスでの SQL 実行のパフォーマンスを分析および比較できます。
説明[SQL の比較] タブに表示される情報に基づいて、データベースインスタンスが実行するデータベースエンジンを更新するか、データベースインスタンスの仕様を変更するかを決定できます。
パラメータの比較
ソースインスタンスとデスティネーションインスタンスから収集された重要なパラメータの値を比較できます。
[終了] をクリックすると、タスクが完了する前にストレステストタスクを終了できます。
[削除] をクリックすると、ストレステストタスクを削除できます。
トラフィック再生とストレステストのリソースを解放する
再度ストレステストを実行する必要がない場合は、[トラフィック再生とストレステストの詳細] ページに移動し、ストレステストタスクを実行するために作成された ECS インスタンスを解放できます。トラフィック再生およびストレステストクラスタ が不要になった場合は、クラスタを解放する ことができます。