データベースのパフォーマンス最適化とモニタリングは、データベース管理者および開発者にとって重要なタスクです。Database Autonomy Service (DAS) の Performance Insight (新バージョン) は、MySQL のパフォーマンススキーマを使用して SQL 情報を収集し、パフォーマンスの問題を迅速に検出し、修復計画を提供することで、データベースシステムのパフォーマンスと安定性を向上させます。また、トラフィックのないテーブルとインデックスの特定にも対応しており、未使用のデータを評価・整理して、ストレージ使用率とデータベースパフォーマンスの向上に役立ちます。
前提条件
データベースインスタンスが以下のいずれかであること:
RDS MySQL
説明RDS MySQL Basic Edition はサポートされていません。
RDS MySQL 5.5 はサポートされていません。
MyBase MySQL
PolarDB for MySQL
データベースインスタンスのメモリが 8 GB 以上であること。
データベースインスタンスでパフォーマンススキーマが有効になっていること。手順については、「パフォーマンススキーマの有効化」をご参照ください。有効になっていない場合、サービス開始時にパラメーターを設定するよう促すメッセージが表示されます。
説明パフォーマンススキーマを有効にすると、データベースインスタンスのリソースを一部消費します。詳細については、「パフォーマンススキーマのストレステスト報告」をご参照ください。
データベースインスタンスが中国 (杭州)、中国 (上海)、中国 (青島)、中国 (北京)、中国 (張家口)、中国 (深圳)、中国 (成都)、中国 (香港)、シンガポール、マレーシア (クアラルンプール)、またはインドネシア (ジャカルタ) のいずれかのリージョンにあること。
課金
Performance Insight は、DAS Economy Edition と Enterprise Edition V3 のプレミアム機能です。DAS Economy Edition と Enterprise Edition V3 がサポートされているリージョンのインスタンスは、有効化されたエディションに従って課金されます。
DAS Economy Edition と Enterprise Edition V3 がサポートされているリージョンについては、「各エディションでサポートされるデータベースとリージョン」をご参照ください。
DAS Economy Edition と Enterprise Edition V3 の課金の詳細については、「課金の詳細」をご参照ください。
DAS Economy Edition と Enterprise Edition V3 がまだサポートされていないリージョンでは、Performance Insight は引き続き無料パブリックプレビューとして利用できます。これらのリージョンで DAS Economy Edition と Enterprise Edition V3 のサポートが開始されると、無料パブリックプレビューは終了し、Performance Insight は DAS Economy Edition と Enterprise Edition V3 のプレミアム機能になります。
機能
Performance Insight (新バージョン) は、MySQL のパフォーマンススキーマを使用して SQL 情報を収集し、ターゲットデータベースのワークロードを評価し、パフォーマンス問題の根本原因の特定に役立ちます。
すべての SQL ステートメントの[リソース使用量]、[実行回数]、[スキャンした行数]、[実行時間]を迅速に特定できます。
ターゲットデータベースのさまざまなメトリクスのパフォーマンストレンドと、特定の SQL ステートメントの詳細情報を表示できます。
SQL ID またはキーワードを使用して、ターゲット SQL ステートメントの詳細情報をクエリできます。
ターゲット SQL ステートメントの[リソース使用量]、[実行回数]、[スキャンした行数]、[実行時間]のトレンドを、SQL サンプル情報とともに表示できます。
ターゲット SQL ステートメントにレート制限と最適化を適用できます。
異なる期間にわたるすべての SQL ステートメントの[リソース使用量]、[実行回数]、[スキャンした行数]、[実行時間]を比較できます。また、特定の SQL ステートメントの詳細なメトリクスを期間ごとに比較することもできます。
トラフィックのないテーブルとインデックスを表示できます。DAS は毎日深夜にテーブルとインデックスの使用状況データを収集し、それらがまだ使用されているかどうかを判断し、トラフィックがない日数を追跡します。
説明通常のインデックスがビジネス SQL ステートメントで使用されていても、それらのクエリがいずれも行を返さない場合 (返された行数が 0 の場合)、インデックスの使用状況は記録されず、そのインデックスはトラフィックのないインデックスとして識別されます。
トラフィックのない期間の最小値は 7 日間です。トラフィックのないテーブルとインデックスの特定を有効にした後、このデータを表示するには少なくとも 7 日間待つ必要があります。
トラフィックのないインデックスを削除する前に、SQL 監査ログとビジネス側の情報を注意深く評価して、インデックスを安全に削除できることを確認してください。
旧バージョンと比較して、新バージョンではより豊富なメトリクスディメンションと表示オプションを提供しています:
比較項目 | Performance Insight (新バージョン) | |
メトリクスディメンション |
|
|
表示方法 |
| 指定した時間範囲内のターゲット SQL ステートメントのメトリクストレンドと詳細を表示できます。 |
修復オプション | ターゲット SQL ステートメントにレート制限と最適化を適用できます。 | ターゲット SQL ステートメントを最適化できます。 |
サポートされるデータベースエンジン | 現在、RDS MySQL、PolarDB for MySQL、MyBase MySQL をサポートしています。 | 現在、RDS MySQL、RDS PostgreSQL、PolarDB for MySQL、PolarDB for PostgreSQL、MyBase MySQL、PolarDB for PostgreSQL (Oracle 互換) をサポートしています。 |
操作手順
にログインします。DASコンソール.
左側のナビゲーションウィンドウで、インスタンスモニター.
表示されるページで、管理するデータベースインスタンスを見つけ、インスタンスIDをクリックします。 インスタンス詳細ページが表示されます。
左側のナビゲーションペインで、パフォーマンスインサイト をクリックします。
Alibaba Cloud マネージドサービスを有効化していない場合、現在 O&M サービスは無効です というプロンプトが表示されます。O&M サービスの有効化 ボタンをクリックします。運用サービスを有効化 ページで、購入期間 を選択し、有効化 をクリックします。
パフォーマンスインサイト タブで、Performance Insight の有効化 をクリックします。
performance_schema が要件どおりに有効になっていない場合、コンソールに パラメーター設定 ダイアログボックスが表示されます。画面の指示に従い、パフォーマンススキーマを有効にする の説明に従って [設定] に移動します をクリックし、performance_schema パラメーターを設定してください。
警告これらのパラメーターを変更するには、データベースインスタンスを再起動する必要があります。この操作はオフピーク時間に実行し、アプリケーションに再接続メカニズムがあることを確認してください。
Performance Insight を有効にすると、システムは自動的にトラフィックのないテーブルとインデックスの特定を有効にします。
重要2023年4月11日より、Performance Insight には、トラフィックのないテーブルとインデックスを識別する機能が含まれるようになりました。この日付以降に Performance Insight を有効にしたインスタンスでは、この機能は自動的に有効になります。2023年4月11日より前に Performance Insight を有効にしたインスタンスでは、Service Settings で トラフィックテーブル / インデックス識別がありません を手動で有効にできます。
パフォーマンスインサイト ページでは、時間範囲の表示、比較リストの表示、および テーブル / インデックス ビューを使用できます:
[時間範囲の表示]:
クイック表示で、メトリック(リソース使用量、実行回数、スキャンした行数、実行時間、または 平均アクティブセッション数)を選択し、時間範囲を指定して、そのメトリックの傾向グラフを表示します。
説明終了時刻は開始時刻より後にする必要があります。過去 1 か月分のデータを最大 7 日間表示できます。
エクスポート をクリックして、SQL 情報をローカルに保存します。
主要メトリクスのトレンドグラフを表示するには、表示 をクリックします。
説明設定 をクリックし、メトリクス セクションに表示するメトリックを選択します。
[設定] ダイアログボックスの [メトリクス] セクションには、実行回数/エラー、スキャン/更新された行数、論理読み込み、物理読み込み、平均実行時間、作成された一時テーブル数、ソートされた行数、Select_Scan/Select_Range、および上位 5 つの SQL トレンドがあります。その下の [列設定] セクションで、SQL 分析テーブルに表示する列 (SQL ID、SQL テンプレート、データベース、時間比率、実行回数、平均実行時間、平均スキャン行数、平均返却行数、テーブル名、平均ロック時間、CPU 使用率など) を選択します。完了したら [OK] をクリックします。
SQL リスト領域で、SQL ステートメントの詳細情報を表示します。
説明設定 をクリックし、列の設定 でリストに表示する統計メトリックを選択します。
ターゲットの SQL ID をクリックすると、選択した時間範囲内の[リソース使用量]、[実行回数]、[スキャンした行数]、[実行時間]のトレンドチャートと、SQL サンプル情報が表示されます。
対象の SQL ステートメントのサンプル情報を表示するには、操作列にあるサンプルをクリックします。
対象の SQL ステートメントの [操作] 列で スロットリングを実行してください。 をクリックします。SQL スロットリング ページで、レート制限パラメーターを設定します。詳細については、「SQL スロットリング」をご参照ください。
対象の SQL ステートメントの 操作 列にある 最適化 をクリックします。SQL 診断の最適化 ダイアログボックスで、診断結果を表示します。
推奨事項を承認する場合は、右上隅のコピーをクリックし、最適化された SQL をデータベースクライアントまたは DMS に貼り付けて実行します。推奨事項を拒否する場合は、Cancelをクリックして診断を終了します。
説明DAS は、SQL の複雑さ、テーブルのデータ量、データベースの負荷などの要因に基づいて SQL 診断を実行します。診断結果が返されるまでに 20 秒以上かかる場合があります。診断後、SQL 診断エンジンは結果、最適化の提案、および期待される効果を提示します。結果を確認して、提案を適用するかどうかを判断してください。
また、[エキスパートサービス] をクリックして、データベースエキスパートサービスを購入することもできます。この有料サービスは、緊急対応、ヘルスチェック、パフォーマンスチューニング、ミッションクリティカル サポート、データ移行など、標準の ApsaraDB の機能を超える専門的なサポートを提供します。
[比較リストの表示]: 比較する時点を選択し、すべての SQL ステートメントの リソース使用量、実行回数、スキャンした行数、および 実行時間 の比較結果を表示できます。 また、下の SQL リスト領域で詳細な比較結果を表示することもできます。
説明設定 をクリックして、リストに表示する統計メトリクスを選択します。
[テーブル / インデックス]: フィルター条件を設定して、条件に一致するトラフィックテーブルがありません と トラフィックインデックスがありません を照会します。
Performance Insight の無効化
にログインします。DASコンソール.
左側のナビゲーションウィンドウで、インスタンスモニター.
表示されるページで、管理するデータベースインスタンスを見つけ、インスタンスIDをクリックします。 インスタンス詳細ページが表示されます。
左側のナビゲーションペインで、パフォーマンスインサイト をクリックします。
パフォーマンスインサイト タブで、Service Settings をクリックし、機能の設定 をオフにし、OK をクリックします。確認ダイアログボックスで 決定 をクリックして パフォーマンスインサイト を無効にします。
Performance Insight を無効にすると、トラフィックのないテーブルとインデックスの識別も無効になります。また、トラフィックテーブル / インデックス識別が有効になっていません を個別に無効にすることもできます。この機能を無効にすると、DAS は、トラフィックのないテーブルとインデックスのデータとその使用状況データを削除します。
重要Performance Insight を無効にすると、DAS はデータ収集を停止し、トラフィックのないテーブルとインデックスのデータおよびその使用状況データを含む、すべての履歴データを削除します。
関連ドキュメント
DAS の自律機能を有効にすると、データベースのパフォーマンス問題に対する修復を自動化できます。