データベースのパフォーマンス最適化とモニタリングは、データベース管理者や開発者にとって重要なタスクです。Database Autonomy Service (DAS) のパフォーマンスインサイト (新バージョン) 機能は、MySQL の performance_schema を使用して SQL 情報を集約します。この機能により、パフォーマンスの問題を迅速に検出し、管理ソリューションを提供することで、データベースのパフォーマンスと安定性を向上させることができます。また、トラフィックのないテーブルやインデックスに関する統計情報を収集し、これらのオブジェクトを特定して削除することで、ストレージ使用率とデータベースパフォーマンスの向上に役立ちます。
前提条件
データベースインスタンスは、以下のいずれかのタイプである必要があります:
RDS MySQL
説明ApsaraDB RDS for MySQL Basic Edition はサポートされていません。
ApsaraDB RDS for MySQL 5.5 はサポートされていません。
MyBase for MySQL
PolarDB for MySQL
データベースインスタンスのメモリは 8 GB 以上である必要があります。
データベースインスタンスで performance_schema が有効になっている必要があります。詳細については、「Performance Schema の有効化」をご参照ください。performance_schema が有効になっていない場合、サービスを有効化する際にパラメーター設定ページに移動するよう促されます。
説明Performance Schema を有効にすると、データベースインスタンスのリソースが一部消費されます。詳細については、「Performance Schema のストレステストレポート」をご参照ください。
データベースインスタンスは、中国 (杭州)、中国 (上海)、中国 (青島)、中国 (北京)、中国 (張家口)、中国 (深セン)、中国 (成都)、中国 (香港)、シンガポール、マレーシア (クアラルンプール)、インドネシア (ジャカルタ) のいずれかのリージョンに配置されている必要があります。
課金
パフォーマンスインサイトは、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 の付加価値サービスとなります。
機能
パフォーマンスインサイト (新バージョン) 機能は、MySQL の performance_schema を使用して SQL 情報を集約します。これにより、対象データベースの負荷を評価し、パフォーマンス問題の根本原因を特定するのに役立ちます。
すべての SQL 文について、リソース使用量、実行回数、スキャンした行数、実行時間 を迅速に特定できます。
対象データベースのさまざまなメトリックのパフォーマンストレンドと、対象 SQL 文の詳細情報を表示できます。
SQL ID とキーワードで対象 SQL 文の詳細情報をクエリできます。
対象 SQL の リソース使用量、実行回数、スキャンした行数、実行時間 のトレンドを、SQL サンプル情報とともに表示できます。
対象 SQL 文のスロットリングと最適化ができます。
すべての SQL 文の リソース使用量、実行回数、スキャンした行数、実行時間 と、特定の SQL 文の詳細なメトリックを、異なる期間で比較できます。
トラフィックのないテーブルとインデックスを表示できます。DAS は毎日早朝にテーブルとインデックスの使用状況データを収集し、それらがまだ使用されているかどうかを判断します。その後、トラフィックがなかった日数をカウントします。
説明トラフィックのない日数の最小値は 7 日です。これは、トラフィックのないテーブルとインデックスを識別する機能を有効にしてから、データを表示できるようになるまで少なくとも 7 日間かかることを意味します。
旧バージョンと比較して、新バージョンではより多くのメトリックディメンションと表示方法が提供されています:
比較項目 | パフォーマンスインサイト (新バージョン) | |
メトリックディメンション |
|
|
表示方法 |
| 指定した時間範囲内の対象 SQL 文のメトリックトレンドと詳細情報を表示できます。 |
管理ソリューション | 対象 SQL 文のスロットリングと最適化ができます。 | 対象 SQL 文を最適化できます。 |
サポートされるデータベースエンジン | ApsaraDB RDS for MySQL、PolarDB for MySQL、MyBase for MySQL をサポートします。 | ApsaraDB RDS for MySQL、ApsaraDB RDS for PostgreSQL、PolarDB for MySQL、PolarDB for PostgreSQL、MyBase for MySQL、PolarDB for PostgreSQL (Compatible with Oracle) をサポートします。 |
操作手順
DAS コンソールにログインします。
左側のナビゲーションウィンドウで、[自律運用センター] > [インスタンスモニタリング] をクリックします。
対象のインスタンスを見つけ、インスタンス ID をクリックしてインスタンス詳細ページを開きます。
左側のナビゲーションウィンドウで、パフォーマンスインサイト をクリックします。
Alibaba Cloud Managed Services を有効にしていない場合、[運用保守サービスが有効化されていません] というプロンプトが表示されます。[運用保守サービスを有効化] ボタンをクリックします。Activate O&M Service ページで、Service Duration を選択し、Activate ボタンをクリックします。
パフォーマンスインサイト タブで、Performance Insight の有効化 をクリックします。
performance_schema を有効にしていない場合、パラメーター設定 ダイアログボックスが表示されます。[設定] に移動します ボタンをクリックし、「Performance Schema の有効化」の指示に従って performance_schema パラメーターを設定します。
警告これらのパラメーターを変更するには、データベースインスタンスを再起動する必要があります。この操作はオフピーク時間に実行し、アプリケーションに再接続メカニズムがあることを確認することを推奨します。
パフォーマンスインサイトを有効にすると、トラフィックのないテーブルとインデックスを識別する機能がデフォルトで有効になります。
重要2023 年 4 月 11 日以降、パフォーマンスインサイトにはトラフィックのないテーブルとインデックスを識別する機能が含まれています。この機能は、インスタンスでパフォーマンスインサイトを有効にすると自動的に有効になります。2023 年 4 月 11 日より前にパフォーマンスインサイトを有効にしたインスタンスについては、Service Settings で トラフィックテーブル / インデックス識別がありません を手動で有効にできます。
パフォーマンスインサイト ページでは、時間範囲の表示、比較リストの表示、テーブル / インデックス のタブを使用できます。

時間範囲の表示:
クイック表示 では、リソース使用量、実行回数、スキャンした行数、実行時間、平均アクティブセッション数 などのメトリックを選択し、時間範囲を指定してそのトレンドグラフを表示できます。
説明時間範囲を選択する際、終了時刻は開始時刻より後である必要があります。過去 1 か月以内の任意の 7 日間のデータを表示できます。
エクスポート をクリックして、SQL 情報をローカルに保存できます。
表示 をクリックして、主要なメトリックトレンドのグラフを表示できます。
説明設定 をクリックし、メトリクス エリアで、トレンドグラフに表示するメトリックを選択できます。

SQL リストで、SQL 文の詳細を表示できます。
説明設定 をクリックし、列の設定 エリアで、リストに表示する統計メトリックを選択できます。
対象の SQL ID をクリックすると、選択した時間範囲内の リソース使用量、実行回数、スキャンした行数、実行時間 のトレンドグラフを表示できます。SQL サンプル情報も表示できます。
操作 列の サンプル をクリックして、対象 SQL 文のサンプル情報を表示できます。
対象 SQL の 操作 列で、スロットリングを実行してください。 をクリックできます。SQL スロットリング ページで、スロットリングパラメーターを設定できます。詳細については、「SQL スロットリング」をご参照ください。
対象 SQL の 操作 列の 最適化 をクリックして、SQL 診断の最適化 ダイアログボックスで SQL 診断結果を表示できます。
診断の提案を受け入れる場合は、ページの右上隅にある コピー をクリックし、最適化された SQL をデータベースクライアントまたは DMS に貼り付けて実行します。提案を受け入れない場合は、Cancel をクリックします。
説明DAS は、SQL 文の複雑さ、対応するテーブルのデータ量、およびデータベースの負荷に基づいて SQL 文を診断します。診断には 20 秒以上かかる場合があります。診断が完了すると、診断エンジンは診断結果、最適化の提案、および期待される効果を提供します。その後、提案を受け入れるかどうかを決定できます。
また、[エキスパートサービス] をクリックして Database Expert Service を購入することもできます。このサービスは、緊急対応、ヘルス診断、パフォーマンスチューニング、専用サポート、データ移行など、ApsaraDB プロダクトの標準機能を超える専門的なデータベースサポートを提供します。
比較リストの表示:時点を選択して、リソース使用量、実行回数、スキャンした行数、実行時間 に基づいて SQL 文を比較できます。詳細な比較結果は、下の SQL リストエリアで確認できます。
説明設定 をクリックして、リストに表示するメトリックを選択できます。
テーブル / インデックス:フィルター条件を設定して、トラフィックテーブルがありません と トラフィックインデックスがありません をクエリできます。
パフォーマンスインサイトの無効化
DAS コンソールにログインします。
左側のナビゲーションウィンドウで、[自律運用センター] > [インスタンスモニタリング] をクリックします。
対象のインスタンスを見つけ、インスタンス ID をクリックしてインスタンス詳細ページを開きます。
左側のナビゲーションウィンドウで、パフォーマンスインサイト をクリックします。
パフォーマンスインサイト タブで、Service Settings をクリックします。機能の設定 をオフにし、OK をクリックします。確認ダイアログボックスで、[OK] をクリックして パフォーマンスインサイト を無効にします。
パフォーマンスインサイトを無効にすると、トラフィックのないテーブルとインデックスを識別する機能も無効になります。また、トラフィックテーブル / インデックス識別が有効になっていません を個別に無効にすることもできます。この機能を無効にすると、DAS はトラフィックのないテーブルとインデックスのデータ、およびその使用状況データを削除します。
重要パフォーマンスインサイトを無効にすると、DAS はデータインジェストを停止し、履歴データを削除します。これには、トラフィックのないテーブルとインデックスのデータ、およびその使用状況データが含まれます。

関連ドキュメント
DAS の自律機能を有効にして、自動管理を実行し、データベースのパフォーマンス問題を解決できます。