Database Autonomy Service (DAS) は、トラフィックの再生とストレステスト機能を提供します。 この機能は、今後の短期ピーク時にワークロードを処理したり、データベーススキーマの変更、特にインデックスの変更に適応したりするのに役立ちます。 この機能を使用して、データベースインスタンスをスケールアウトまたはスケールアップする必要があるかどうかを確認し、スケールアウトまたはスケールアップ後に実際のビジネスシナリオでデータベースインスタンスのパフォーマンスを検証できます。 これは、失敗のリスクを最小限に抑えるのに役立ちます。 また、原因が不明なデータベース障害が発生した場合は、複製されたデータベースで障害を再現して、障害の原因を特定できます。
前提条件
管理するソースデータベースインスタンスは、次のいずれかのタイプです。
RDS 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 Cost-efficient EditionおよびDAS Enterprise Editionの有効化と管理」をご参照ください。
説明ストレステストの前後に、移行元データベースインスタンスと移行先データベースインスタンスのSQL実行のパフォーマンスを分析して比較する場合は、移行先データベースインスタンスのDAS Enterprise Editionも有効にする必要があります。 SQL実行のパフォーマンスの違いに基づいて、データベースインスタンスが実行するデータベースエンジンを更新するか、データベースインスタンスの仕様を変更するかを決定できます。
DASは、中国 (杭州) 、中国 (上海) 、中国 (北京) 、中国 (深セン) 、およびシンガポールの各リージョンでのみ2.0されるPolarDB-Xのインテリジェントストレステスト機能をサポートしています。
シナリオ
ピーク時にワークロードを処理するために、データベースインスタンスをスケールアップまたはスケールアウトする必要があるかどうかを確認します。
データベースのスキーマ、特にインデックスが変更されたら、実際のビジネスシナリオでデータベースのパフォーマンスを確認して、障害のリスクを軽減します。
データベース障害が発生した後、この機能を使用して、ソースデータベースの複製データベースで障害を再発させ、障害の原因を特定します。
使用上の注意
ネットワークの待ち時間を短縮するには、ストレステストクライアントとターゲットデータベースインスタンスを同じリージョンにデプロイする必要があります。
説明ストレステストクライアントとターゲットデータベースインスタンスを同じ仮想プライベートクラウド (VPC) にデプロイすることを推奨します。
ストレステストを実行する前に、ストレステストクライアントとターゲットデータベースインスタンス間の接続を確認して、クライアントからターゲットデータベースインスタンスにトラフィックを送信できることを確認する必要があります。
課金
DAS Enterprise Editionの料金の詳細については、「課金の概要」をご参照ください。
ストレステストタスクを作成すると、次のルールに基づいて課金されます。
[バックアップによる復元] メソッドを使用してデータを移行すると、指定したターゲットデータベースインスタンスのタイプに基づいて、従量課金データベースインスタンスが自動的に作成されます。 ターゲットデータベースインスタンスの料金の詳細については、対応するデータベースサービスの料金をご参照ください。
詳細設定 セクションで DAS 自動購入および自動デプロイ を選択した場合、ソースデータベースインスタンスの1秒あたりのクエリ (QPS) と指定された再生速度に基づいて、従量課金のElastic Compute Service (ECS) インスタンスがストレステストクライアントとして自動的に作成されます。 ECSインスタンスの料金の詳細については、「インスタンスタイプ」をご参照ください。
説明コストを削減するために、ストレステストタスクの完了後にシステムによって作成された従量課金インスタンスを削除することを推奨します。
手順
DASコンソールにログインします。
インテリジェントストレステストページに移動します。
次のいずれかの方法を使用して、[インテリジェントストレステスト] ページに移動できます。
左側のナビゲーションウィンドウで、インテリジェントストレステスト をご参照ください。
インスタンスの詳細ページから [インテリジェントストレステスト] ページに移動します。
左側のナビゲーションウィンドウで、インスタンスモニターをクリックします。
表示されるページで、管理するデータベースインスタンスを見つけ、インスタンスIDをクリックします。 インスタンス詳細ページが表示されます。
左側のナビゲーションウィンドウで、リクエスト分析 > SQL Explorer and Audit を選択します。 [SQL Explorer] タブで、トラフィックの再生とストレステスト タブをクリックします。
タスクセンターページでタスクの作成をクリックします。
タスクの作成ダイアログボックスで、パラメーターを設定します。
タスクタイプ パラメーターを トラフィックストレステストの再生 に設定し、タスク名 パラメーターを設定します。
移行元情報 セクションで、次の表に示すパラメーターを設定します。 次に、[次へ] をクリックします。
パラメーター
説明
インスタンスソース
Alibaba Cloud データベース を選択します。
データベースエンジン
同期元のデータベースインスタンスのタイプを設定します。 有効な値:
MySQL: ApsaraDB RDS for MySQLインスタンス。
PolarDB for MySQL: PolarDB for MySQLクラスター。
PolarDB-X: PolarDB-X 2.0インスタンス。
説明DASは、中国 (杭州) 、中国 (上海) 、中国 (北京) 、中国 (深セン) 、およびシンガポールの各リージョンでのみ2.0されるPolarDB-Xのインテリジェントストレステスト機能をサポートしています。
移行元インスタンス
移行元インスタンスのID。
詳細設定
移行元データベースインスタンス内の1つ以上のデータベースに対してインテリジェントなストレステストを実行する場合は、詳細設定 をクリックして、移行先データベースの データベースアカウント と パスワード を指定します。 [データベースの取得] をクリックしてデータベースに関する情報を取得し、インテリジェントストレステストを実行するデータベースを選択します。
では、移行先データベースのスキーマとデータの生成方法セクションで、次の表で説明するパラメーターを設定します。
パラメーター
説明
データベースエンジン
移行先データベースインスタンスのタイプ。 有効な値:
MySQL: ApsaraDB RDS for MySQLインスタンス。
PolarDB for MySQL: PolarDB for MySQLクラスター。
PolarDB-X: PolarDB-X 2.0インスタンス。
説明DASは、中国 (杭州) 、中国 (上海) 、中国 (北京) 、中国 (深セン) 、およびシンガポールの各リージョンでのみ2.0されるPolarDB-Xのインテリジェントストレステスト機能をサポートしています。
ベンチマークデータの移行
データの移行に使用されるメソッド。 ベースラインデータを移行元データベースインスタンスから移行先データベースインスタンスに移行できるかどうかに基づいて、方法を選択します。 有効な値:
バックアップによる復元: 移行元データベースインスタンスのデータは、時点またはバックアップセットに基づいて移行先データベースインスタンスに複製されます。
説明ソースデータベースインスタンスと同じ仕様の従量課金データベースインスタンスが自動的に作成され、作成されたデータベースインスタンスにバックアップデータが復元されます。
データ移行が完了しました: トラフィックが再生される指定された時間範囲内で、移行元データベースインスタンスのテーブルスキーマとデータが移行先データベースインスタンスに移行されます。
説明ターゲットデータベースインスタンスには、ソースデータベースインスタンスと同じテーブルスキーマとデータが必要です。 そうしないと、ストレステストを実行できません。
DTS タスク ID を入力してください: 移行元データベースインスタンスから移行先データベースインスタンスにデータを移行するためのデータ移行タスクがdata Transmission Service (DTS) コンソールで作成されます。
説明DTSでデータを移行する方法については、「データ移行」をご参照ください。
DTS 移行タスクの作成: DTSデータ移行タスクを作成します。 DTSコンソールで移行タスクを作成する必要はありません。
説明ソースデータベースインスタンスがAlibaba Cloudデータベースインスタンスの場合、上記のいずれかの方法を選択してデータを移行できます。 [バックアップによる復元] を選択することを推奨します。 [バックアップによる復元] を選択した場合、ソースデータベースインスタンスと同じ仕様の従量課金データベースインスタンスが自動的に作成され、ソースデータベースインスタンスのデータが作成されたデータベースインスタンスに復元されます。
ソースデータベースインスタンスが自己管理データベースの場合、データ移行が完了しました 、DTS タスク ID を入力してください 、または DTS 移行タスクの作成 のみを選択できます。
復元モード
データの復元に使用されるメソッド。 ビジネス要件に基づいて、次のいずれかの方法を選択できます。
時点別
バックアップセット別
説明このパラメーターは、ベンチマークデータの移行パラメーターがRestore by Backupに設定されている場合にのみ必要です。
復元モード パラメーターを バックアップセット別 に設定した場合、アカウントに必要な権限が付与されていることを確認します。 アカウントに権限が付与されていない場合は、[DASサービスにリンクされたロール] をクリックして、関連付けられたロールをアカウントに割り当てます。 表示されたメッセージボックスで [OK] をクリックします。
[復元時間の選択] /[バックアップセット]
データを復元する時点、またはデータを復元するバックアップセット。 復元モード パラメーターの値に基づいて、時点またはバックアップセットを指定できます。
説明このパラメーターは、ベンチマークデータの移行パラメーターがRestore by Backupに設定されている場合にのみ必要です。
移行タスク ID
移行元データベースインスタンスから移行先データベースインスタンスにデータを移行するために使用されるDTSデータ移行タスクのID。
説明このパラメーターは、ベンチマークデータの移行パラメーターがDTS タスク ID を入力してくださいに設定されている場合にのみ必要です。
DTS 移行タスクの仕様
DTSデータ移行タスクの仕様。
説明このパラメーターは、ベンチマークデータの移行パラメーターがDTS 移行タスクの作成に設定されている場合にのみ必要です。
移行先インスタンス
ターゲットデータベースインスタンスの名前。 デフォルトでは、システムはターゲットデータベースインスタンスのプライマリエンドポイントにアクセスします。
説明このパラメーターは、ベンチマークデータの移行パラメーターがデータ移行が完了しました、DTS タスク ID を入力してください、またはDTS 移行タスクの作成に設定されている場合にのみ必要です。
移行先インスタンスの特権アカウント
ターゲットデータベースインスタンスの特権アカウントの名前とパスワード。
説明このパラメーターは、ベンチマークデータの移行パラメーターがデータ移行が完了しました、DTS タスク ID を入力してください、またはDTS 移行タスクの作成に設定されている場合にのみ必要です。
移行元インスタンスの特権アカウント
ソースデータベースインスタンスの特権アカウントの名前とパスワード。
説明このパラメーターは、ベンチマークデータの移行パラメーターが [バックアップによる復元] または DTS 移行タスクの作成 に設定されている場合にのみ必要です。
では、ストレステストの基本設定セクションで、次の表で説明するパラメーターを設定します。
パラメーター
説明
再生トラフィックを選択してください
トラフィックが再生される時間範囲。
説明指定された期間内に、ソースデータベースインスタンスに対してSQL Explorerおよび監査機能が有効になっていることを確認します。
再生速度
ソースデータベースインスタンスからキャプチャされたトラフィックがターゲットデータベースインスタンスで再生される速度。 たとえば、このパラメーターを1に設定すると、トラフィックはターゲットデータベースインスタンスで元のレートで再生されます。 再生レートは正の整数でなければなりません。 有効な値: 1 ~ 30。
説明指定された再生レートが、ターゲットデータベースインスタンスでサポートされている最大再生レートよりも高い場合、トラフィックは最大再生レートで再生されます。
では、詳細設定セクションで、ストレステストプログラムをデプロイする ECSパラメーターを使用します。
パラメーターをDAS 自動購入および自動デプロイに設定すると、ソースデータベースインスタンスのQPSと指定された再生速度に基づいて、従量課金ECSインスタンスがストレステストクライアントとして自動的に作成されます。
既存のECSインスタンスにストレステストプログラムをデプロイする場合は、[追加] をクリックしてECSインスタンスを選択し、[デプロイコマンドの生成] をクリックします。 次に、生成されたコマンドをコピーし、ECSインスタンスでコマンドを実行します。 さらに、追加されたECSインスタンスにjavaクライアントをインストールするには、
sudo yum install -y Java-1.8.0-openjdk
コマンドを実行する必要があります。 Java 8をインストールすることを推奨します。
[次へ] をクリックします。
検証が成功したら、OKストレステストタスクを作成します。
インテリジェントなストレステストの結果を表示
ストレステストタスクの作成後、タスクセンター ページでストレステストタスクに関する情報を表示できます。
[操作] 列では、次の操作を実行できます。
[詳細] をクリックして、インテリジェントストレステストの詳細 ページでストレステストタスクのステータスとレポートを表示します。 次の表に、ページのタブを示します。
タブ
説明
クラスターレベルの概要
ストレステストタスクの前後で、ソースデータベースインスタンスとターゲットデータベースインスタンスに関する基本情報を比較できます。
パフォーマンストレンド比較
ストレステストタスクの前後に、ソースデータベースインスタンスとターゲットデータベースインスタンスから収集されたパフォーマンスメトリックを比較できます。
SQLの比較
ストレステストの前にターゲットデータベースインスタンスの自律機能が有効になっている場合、ストレステスト中にSQL実行のパフォーマンスデータが収集されます。 自律機能を有効にする方法の詳細については、「自律機能の有効化」をご参照ください。 ストレステストの前後で、移行元データベースインスタンスと移行先データベースインスタンスでのSQL実行のパフォーマンスを分析および比較できます。
説明[SQLの比較] タブに表示される情報に基づいて、データベースインスタンスが実行するデータベースエンジンを更新するか、データベースインスタンスの仕様を変更するかを決定できます。
パラメータ比較
移行元データベースインスタンスと移行先データベースインスタンスから収集された重要なパラメーターの値を比較できます。
タスクが完了する前に、[終了] をクリックしてストレステストタスクを終了します。
[削除] をクリックして、ストレステストタスクを削除します。
次のステップ
ストレステストを再度実行する必要がない場合は、インテリジェントストレステストの詳細 ページに移動し、ストレステストタスクを実行するために作成されたECSインスタンスをリリースします。
ソースデータベースインスタンスに対してSQLエクスプローラーと監査機能が有効になっている場合は、ストレステストタスクの完了後にこの機能を無効にします。 詳細については、「SQLエクスプローラーと監査の無効化」をご参照ください。
今後の短期ピーク時にワークロードを処理するためにデータベースインスタンスをスケールアウトまたはスケールアップする必要がある場合は、インスタンスタイプに基づいて自動パフォーマンススケーリングまたはスケジュール済み自動スケーリングを有効にできます。
関連する API 操作
API 操作 | 説明 |
ストレステストタスクを作成します。 | |
ストレステストタスクを実行します。 | |
ストレステストのタスクを停止します。 | |
Advanced Database & Application Migration (ADAM) でストレステストタスクを作成します。 | |
ストレステストタスクを削除します。 | |
停止したデータベースゲートウェイのメタデータを削除します。 | |
ストレステストタスクの設定を照会します。 | |
ストレステストタスクに関する情報を照会します。 | |
ストレステストタスクのリストを照会します。 |