このトピックでは、メジャーバージョンアップ前に本番トラフィック再現によるストレステストを使用する方法について説明します。
概要
Database Autonomy Service (DAS) の本番トラフィック再現によるストレステスト機能を使用すると、メジャーバージョンアップ前に、ターゲットバージョンの PolarDB インスタンスで本番環境のワークロードを再生できます。これにより、以下のことが可能になります:
-
トラフィックスパイクに対応するためにインスタンスの仕様をスペックアップする必要があるかどうかを検証します。
-
ソースとターゲットの PolarDB バージョン間での SQL テンプレート実行パフォーマンスの違いを分析します。
前提条件
-
本番トラフィック再現によるストレステスト用のインスタンスを作成します。このトピックでは、このインスタンスを本番トラフィック再現によるストレステストの宛先インスタンスと呼びます。このインスタンスは、メジャーバージョンアップのターゲットインスタンスと同じバージョンを実行する必要があります。タスクの構成中にこのインスタンスを購入することもできます。
説明本番トラフィック再現によるストレステストの宛先インスタンスを本番環境で使用しないでください。
-
ソースインスタンスと本番トラフィック再現によるストレステストの宛先インスタンスを DAS に接続します。詳細については、「Alibaba Cloud データベースインスタンスを DAS に接続する」をご参照ください。
-
本番トラフィック再現によるストレステストのため、ソースインスタンスと宛先インスタンスの両方で DAS Professional Edition を有効にします。詳細については、「DAS 監査ログと O&M サービス (旧 Economy Edition) を管理する」をご参照ください。
-
ストレステストクライアントとして使用する Elastic Compute Service (ECS) インスタンスを準備します。ECS インスタンスは、本番トラフィック再現によるストレステストの宛先インスタンスと同じリージョンにある必要があります。タスクの構成中に DAS にインスタンスを自動的に購入させることもできます。
説明ストレステストクライアントと本番トラフィック再現によるストレステストの宛先インスタンスを同じ Virtual Private Cloud (VPC) にデプロイすることを推奨します。
注意事項
-
ストレステストはソースインスタンスに影響を与えないため、オフピーク時に実行する必要はありません。
-
ストレステストを開始する前に、ストレステストクライアントと本番トラフィック再現によるストレステストの宛先インスタンス間のネットワーク接続を確認してください。
課金
本番トラフィック再現によるストレステストでは、以下の料金が発生する場合があります:
-
DAS Professional Edition の料金。料金の詳細については、「DAS 監査ログの概要」をご参照ください。
-
Data Transmission Service (DTS) 移行の料金。料金の詳細については、「課金項目」をご参照ください。
-
(オプション) 本番トラフィック再現によるストレステストの宛先インスタンスの料金。料金の詳細については、「課金概要」をご参照ください。既存のインスタンスを使用する場合は、この項目をスキップできます。
-
(オプション) タスク構成中に新しい ECS インスタンスをストレステストクライアントとして購入することを選択した場合、DAS はソースデータベースの QPS と指定された再生速度に基づいて、適切な仕様の従量課金 ECS インスタンスを自動的に購入します。料金の詳細については、「インスタンスの課金」をご参照ください。
操作手順
ストレステストタスクの作成
このセクションでは、[本番トラフィック再現によるストレステスト] を例に、ストレステストタスクの作成方法を説明します。
-
DAS コンソールにログインします。
-
左側のナビゲーションウィンドウで、[本番トラフィック再現によるストレステスト] をクリックします。
-
Tasks ページで、右上の [タスクの作成] をクリックします。
-
[タスクの作成] ダイアログボックスで、次のパラメーターを設定します。
パラメーター
説明
Task Type
[再生トラフィック ストレス テスト] を選択します。
タスク名
ストレステストタスクの名前を入力します。名前は 2~50 文字である必要があります。
[インスタンスソース]
[Alibaba Cloud データベース] を選択します。
Database type
ソースインスタンスのデータベースエンジンです。[PolarDB for MySQL] を選択します。
ソースインスタンス
ソースインスタンス のインスタンス ID を選択します。
Advanced Settings
ソースインスタンス上の特定のデータベースをテストするには、Advanced Settings をクリックし、ソースデータベースの データベースアカウント と パスワード を入力してデータベース情報を取得し、テストするデータベースを選択します。
-
[次へ] をクリックし、次のパラメーターを設定します。
パラメーター
説明
Database type
宛先インスタンスのデータベースエンジンです。[PolarDB for MySQL] を選択します。
[ベンチマークデータ移行]
[DTS 移行タスクの作成] を選択します。
説明[DTS 移行タスクの作成] を選択すると、システムは自動的にデータ移行タスクを作成します。DTS コンソールで操作を行う必要はありません。
[DTS 移行タスクの仕様]
DTS 移行タスクの仕様を選択します。
ターゲットインスタンス
本番トラフィック再現によるストレステストの宛先インスタンスを選択します。デフォルトでは、システムは宛先インスタンスのプライマリエンドポイントにアクセスします。
[宛先インスタンスの特権アカウント]
宛先インスタンスの特権アカウントのユーザー名とパスワードです。
[ソースインスタンスの特権アカウント]
ソースインスタンスの特権アカウントのユーザー名とパスワードです。
[再生トラフィックの選択]
再生するトラフィックの時間範囲を選択します。
説明この時間範囲中に、ソースインスタンスで SQL Explorer と監査 機能がアクティブであった必要があります。
[再生速度]
ソースインスタンスのトラフィックを宛先インスタンスで再生する速度です。たとえば、値が 1 の場合は、元の速度でトラフィックが再生されることを示します。再生速度は 1 から 30 までの正の整数である必要があります。
説明設定した再生速度が、本番トラフィック再現によるストレステストの宛先インスタンスでサポートされている最大速度を超えた場合、タスクは宛先インスタンスでサポートされている最大速度で実行されます。
Advanced Settings
[ストレステストクライアントをデプロイする ECS インスタンス] を選択します。
説明-
[DAS による自動購入とデプロイ] を選択できます。システムは、ソースデータベースの QPS と指定された再生速度に基づいて、適切な仕様の従量課金 ECS インスタンスを購入します。
-
また、追加 をクリックしてストレステストクライアントをデプロイする ECS インスタンスを選択し、デプロイコマンドを生成して、その ECS インスタンスでコマンドをコピーして実行することもできます。選択した ECS インスタンスで
sudo yum install -y java-1.8.0-openjdkコマンドを実行して Java クライアントをインストールする必要もあります。クライアントには Java 8 を使用することを推奨します。
-
-
次へ をクリックします。
-
OK をクリックして、ストレステストタスクを作成します。
ストレステスト詳細の表示
ストレステストタスクを作成した後、Tasks ページでタスクを表示できます。Operation 列では、次の操作を実行できます:
-
詳細 をクリックして、[本番トラフィック再現によるストレステストの詳細] ページを開きます。このページでは、タスクの実行ステータスとストレステストレポートを表示できます。次の表に、このページの情報を示します。
パラメーター
説明
概要
ストレステスト前後のソースインスタンスと宛先インスタンスの基本情報を比較します。
パフォーマンスのトレンド比較
ソースインスタンスと宛先インスタンスのさまざまなパフォーマンスメトリクスを比較します。
[SQL 比較]
ストレステストの前に、本番トラフィック再現によるストレステストの宛先インスタンスで 自動自律サービスを有効または無効にしている 場合、ストレステスト前後のソースインスタンスと宛先インスタンス間での SQL テンプレートのパフォーマンスの違いを分析できます。
説明[SQL 比較] タブは、データベースエンジンのアップグレードや仕様変更などのシナリオで使用できます。
パラメーター比較
ソースインスタンスと宛先インスタンスの重要なパラメーターを比較します。
-
実行中のストレステストタスクを停止するには、[終了] をクリックします。
-
Delete をクリックして、ストレステストタスクを削除します。
リソースの解放
ストレステストが完了し、不要になったら、[本番トラフィック再現によるストレステストの詳細] ページに移動して、テスト用の ECS インスタンスを解放します。本番トラフィック再現によるストレステストの宛先インスタンスが不要になった場合は、本番トラフィック再現によるストレステストの宛先インスタンスを解放できます。