Database Autonomy Service (DAS) は、トラフィック再生とストレステスト機能を提供します。この機能は、今後の短期間のピーク時のワークロードを処理したり、データベーススキーマの変更、特にインデックスの変更に適応したりするのに役立ちます。この機能を使用して、データベースインスタンスのスケールアウトまたはスケールアップが必要かどうかを確認し、スケールアウトまたはスケールアップ後の実際のビジネスシナリオでのデータベースインスタンスのパフォーマンスを検証できます。これにより、障害のリスクを最小限に抑えることができます。さらに、原因が不明なデータベース障害が発生した場合、クローンデータベースで障害を再現して、障害の原因を特定できます。
前提条件
管理するソースデータベースインスタンスは、次のいずれかのタイプです。
ApsaraDB RDS for MySQL
PolarDB for MySQL
説明PolarDB for MySQL Single Node Edition はサポートされていません。
PolarDB-X 2.0
管理するターゲットデータベースインスタンスは、次のいずれかのタイプです。
ApsaraDB RDS for MySQL
PolarDB for MySQL
PolarDB-X 2.0
ソースデータベースインスタンスとターゲットデータベースインスタンスは DAS に接続されています。データベースインスタンスを DAS に接続する方法の詳細については、「Alibaba Cloud データベースインスタンスを DAS に接続する」をご参照ください。
ソースデータベースインスタンスで DAS Enterprise Edition が有効になっています。詳細については、「DAS Economy Edition と DAS Enterprise Edition を有効化および管理する」をご参照ください。
説明ストレステストの前後で、ソースデータベースインスタンスとターゲットデータベースインスタンスの SQL 実行パフォーマンスを分析および比較する場合、ターゲットデータベースインスタンスでも DAS Enterprise Edition を有効にする必要があります。SQL 実行のパフォーマンスの違いに基づいて、データベースインスタンスで実行されるデータベースエンジンを更新するか、データベースインスタンスの仕様を変更するかを決定できます。
DAS は、中国 (杭州)、中国 (上海)、中国 (北京)、中国 (深圳)、シンガポール リージョンでのみ PolarDB-X 2.0 のトラフィック再生とストレステスト機能をサポートしています。
シナリオ
ピーク時のワークロードを処理するために、データベースインスタンスのスケールアップまたはスケールアウトが必要かどうかを確認します。
データベースのスキーマ、特にインデックスが変更された後、実際のビジネスシナリオでデータベースのパフォーマンスを確認して、障害のリスクを軽減します。
データベース障害が発生した後、この機能を使用して、ソースデータベースのクローンデータベースで障害を再現し、障害の原因を特定します。
使用上の注意
ネットワークレイテンシを 、ストレステストクライアントとターゲットデータベースインスタンスを同じリージョンにデプロイする必要があります。
説明ストレステストクライアントとターゲットデータベースインスタンスを同じ Virtual Private Cloud (VPC) にデプロイすることをお勧めします。
ストレステストを実行する前に、ストレステストクライアントとターゲットデータベースインスタンス間の接続を確認して、クライアントからターゲットデータベースインスタンスにトラフィックを送信できることを確認する必要があります。
課金
DAS Enterprise Edition の料金の詳細については、「課金の概要」をご参照ください。
ストレステストタスクを作成した後、次のルールに基づいて課金されます。
[バックアップから復元] メソッドを使用してデータを移行する場合、システムは指定したターゲットデータベースインスタンスのタイプに基づいて従量課金データベースインスタンスを自動的に作成します。ターゲットデータベースインスタンスの料金の詳細については、対応するデータベースサービスの料金をご参照ください。
DAS 自動購入および自動デプロイ を 詳細設定 セクションで選択すると、システムはソースデータベースインスタンスのクエリ/秒 (QPS) と指定された再生率に基づいて、従量課金 Elastic Compute Service (ECS) インスタンスをストレステストクライアントとして自動的に作成します。ECS インスタンスの料金の詳細については、「インスタンスタイプ」をご参照ください。
説明コストを削減するために、ストレステストタスクの完了後にシステムによって作成された従量課金インスタンスを削除することをお勧めします。
手順
[DAS コンソール] にログインします。
[トラフィック再生とストレステスト] ページに移動します。
次のいずれかの方法を使用して、[トラフィック再生とストレステスト] ページに移動できます。
左側のナビゲーションウィンドウで、[ツール] > [トラフィック再生とストレステスト] を選択します。
インスタンス詳細ページから [トラフィック再生とストレステスト] ページに移動します。
左側のナビゲーションウィンドウで、[インテリジェント O&M センター] > インスタンスモニター を選択します。
表示されるページで、管理するデータベースインスタンスを見つけて、インスタンス ID をクリックします。インスタンス詳細ページが表示されます。
左側のナビゲーションウィンドウで、リクエスト分析 > SQL Explorer and Audit を選択します。[SQL エクスプローラー] タブで、トラフィック再生とストレステスト タブをクリックします。
タスクセンター ページで、右上隅にある タスクの作成 をクリックします。
タスクの作成 ダイアログボックスで、パラメーターを設定します。
タスクタイプ パラメーターを トラフィックストレステストの再生 に設定し、タスク名 パラメーターを設定します。
移行元情報 セクションで、次の表に示すパラメーターを設定します。次に、次へ をクリックします。
パラメーター
説明
インスタンスソース
Alibaba Cloud データベース を選択します。
データベースエンジン
ソースデータベースインスタンスのタイプ。有効値:
[mysql]: ApsaraDB RDS for MySQL インスタンス。
[polardb For Mysql]: PolarDB for MySQL クラスタ。
[polardb-x]: PolarDB-X 2.0 インスタンス。
説明DAS は、中国 (杭州)、中国 (上海)、中国 (北京)、中国 (深圳)、シンガポール リージョンでのみ PolarDB-X 2.0 のトラフィック再生とストレステスト機能をサポートしています。
移行元インスタンス
ソースインスタンスの ID。
詳細設定
ソースデータベースインスタンス内の 1 つ以上のデータベースでトラフィック再生とストレステストを実行する場合は、詳細設定 をクリックして、ターゲットデータベースの データベースアカウント と パスワード の値を指定します。 [データベースを取得] をクリックしてデータベースに関する情報を取得し、トラフィック再生とストレステストを実行するデータベースを選択します。
移行先データベースのスキーマとデータの生成方法 セクションで、次の表に示すパラメーターを設定します。
パラメーター
説明
データベースエンジン
ターゲットデータベースインスタンスのタイプ。有効値:
[mysql]: ApsaraDB RDS for MySQL インスタンス。
[polardb For Mysql]: PolarDB for MySQL クラスタ。
[polardb-x]: PolarDB-X 2.0 インスタンス。
説明DAS は、中国 (杭州)、中国 (上海)、中国 (北京)、中国 (深圳)、シンガポール リージョンでのみ PolarDB-X 2.0 のトラフィック再生とストレステスト機能をサポートしています。
ベンチマークデータの移行
データの移行に使用されるメソッド。ベースラインデータをソースデータベースインスタンスからターゲットデータベースインスタンスに移行できるかどうかに基づいてメソッドを選択します。有効値:
バックアップによる復元: ソース データベース インスタンスのデータは、特定の時点またはバックアップセットに基づいて、ターゲット データベース インスタンスにクローンされます。
説明システムは、ソースデータベースインスタンスと同じ仕様を持つ従量課金データベースインスタンスを自動的に作成し、バックアップデータを作成されたデータベースインスタンスに復元します。
データ移行が完了しました: ソースデータベースインスタンスのテーブルスキーマとデータは、トラフィックが再生される指定された時間範囲内でターゲットデータベースインスタンスに移行されます。
説明ターゲットデータベースインスタンスは、ソースデータベースインスタンスと同じテーブルスキーマとデータを持っている必要があります。そうでない場合、ストレステストを実行できません。
DTS タスク ID を入力してください: [Data Transmission Service (DTS) コンソール] でデータ移行タスクが作成され、ソースデータベースインスタンスからターゲットデータベースインスタンスにデータが移行されます。
説明DTS でデータを移行する方法の詳細については、「データ移行」をご参照ください。
DTS 移行タスクの作成: DTS データ移行タスクが作成されます。[DTS コンソール] で移行タスクを作成する必要はありません。
説明ソースデータベースインスタンスが Alibaba Cloud データベースインスタンスの場合、上記のいずれかのメソッドを選択してデータを移行できます。 [バックアップから復元] を選択することをお勧めします。 [バックアップから復元] を選択すると、システムはソースデータベースインスタンスと同じ仕様の従量課金データベースインスタンスを自動的に作成し、ソースデータベースインスタンスのデータを、作成されたデータベースインスタンスに復元します。
ソースデータベースインスタンスが自己管理データベースの場合、データ移行が完了しました、DTS タスク ID を入力してください、または DTS 移行タスクの作成 のみを選択できます。
復元モード
データの復元に使用されるメソッド。ビジネス要件に基づいて、次のいずれかのメソッドを選択できます。
時点別
バックアップセット別
説明このパラメーターは、ベンチマークデータの移行 パラメーターが [バックアップから復元] に設定されている場合にのみ必須です。
復元モード パラメーターを バックアップセット別 に設定する場合は、アカウントに必要な権限が付与されていることを確認してください。アカウントに権限が付与されていない場合は、[DAS サービスリンクロール] をクリックして、関連するロールをアカウントに割り当てます。表示されるメッセージで、[OK] をクリックします。
[復元時間の選択]/[バックアップセット]
データを復元する時点、またはデータを復元するバックアップセット。復元モード パラメーターの値に基づいて、時点またはバックアップセットを指定できます。
説明このパラメーターは、ベンチマークデータの移行 パラメーターが [バックアップから復元] に設定されている場合にのみ必須です。
移行タスク ID
ソースデータベースインスタンスからターゲットデータベースインスタンスにデータを移行するために使用される DTS データ移行タスクの ID。
説明このパラメーターは、ベンチマークデータの移行 パラメーターが DTS タスク ID を入力してください に設定されている場合にのみ必須です。
DTS 移行タスクの仕様
DTS データ移行タスクの仕様。
説明このパラメーターは、ベンチマークデータの移行 パラメーターが DTS 移行タスクの作成 に設定されている場合にのみ必須です。
移行先インスタンス
ターゲットデータベースインスタンスの名前。デフォルトでは、システムはターゲットデータベースインスタンスのプライマリエンドポイントにアクセスします。
説明このパラメーターは、ベンチマークデータの移行 パラメーターが データ移行が完了しました、DTS タスク ID を入力してください、または DTS 移行タスクの作成 に設定されている場合にのみ必須です。
移行先インスタンスの特権アカウント
ターゲットデータベースインスタンスの特権アカウントの名前とパスワード。
説明このパラメーターは、ベンチマークデータの移行 パラメーターが データ移行が完了しました、DTS タスク ID を入力してください、または 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 の比較]
ストレステストの前にターゲットデータベースインスタンスで自律機能が有効になっている場合、ストレステスト中に SQL 実行のパフォーマンスデータが収集されます。自律機能を有効にする方法の詳細については、「自律機能を有効または無効にする」をご参照ください。ストレステストの前後で、ソースデータベースインスタンスとターゲットデータベースインスタンスの SQL 実行パフォーマンスを分析および比較できます。
説明[SQL の比較] タブに表示される情報に基づいて、データベースインスタンスで実行されるデータベースエンジンを更新するか、データベースインスタンスの仕様を変更するかを決定できます。
[パラメーターの比較]
ソースデータベースインスタンスとターゲットデータベースインスタンスから収集された重要なパラメーターの値を比較できます。
[終了] をクリックして、タスクが完了する前にストレステストタスクを終了します。
[削除] をクリックして、ストレステストタスクを削除します。
次のステップ
再度ストレステストを実行する必要がない場合は、インテリジェントストレステストの詳細 ページに移動し、ストレステストタスクを実行するために作成された ECS インスタンスを解放できます。
ソースデータベースインスタンスで [SQL Explorer および監査機能] が有効になっている場合は、ストレステスト タスクの完了後にこの機能を無効にしてください。詳細については、「SQL Explorer および監査を無効にする」をご参照ください。
今後の短期間のピーク時のワークロードを処理するためにデータベースインスタンスのスケールアウトまたはスケールアップが必要な場合は、インスタンスタイプに基づいて 自動パフォーマンススケーリング または スケジュールされた自動スケーリング を有効にできます。