Azure Database for MySQL の Query Performance Insight
適用対象: Azure Database for MySQL - シングル サーバー
重要
Azure Database for MySQL シングル サーバーは廃止パスにあります。 Azure Database for MySQL フレキシブル サーバーにアップグレードすることを強くお勧めします。 Azure Database for MySQL フレキシブル サーバーへの移行の詳細については、Azure Database for MySQL シングル サーバーの現状に関するページを参照してください
適用対象: Azure Database for MySQL 5.7、8.0
Query Performance Insight では、実行時間が最長のクエリ、クエリの経時変化、影響を受けている待機状態を素早く特定することができます。
一般的なシナリオ
実行時間の長いクエリ
- 過去 X 時間に実行時間が最も長かったクエリを識別する
- リソースを待機している上位 N 件のクエリを特定する
待機統計
- クエリの待機の性質を理解する
- リソースの待機の傾向とリソースの競合が存在する場所を理解する
前提条件
Query Performance Insight が機能するには、クエリ ストアにデータが存在している必要があります。
パフォーマンス洞察の表示
Azure portal の Query Performance Insight ビューは、クエリ ストアからの重要な情報を視覚化します。
Azure Database for MySQL サーバーのポータル ページのメニュー バーの [インテリジェント パフォーマンス] セクションにある [Query Performance Insight] を選択します。
実行時間の長いクエリ
[実行時間の長いクエリ] タブには、実行ごとの平均実行時間の上位 5 クエリ ID が示され、15 分間隔で集計されます。 [クエリの数] ドロップダウンから選択することで、より多くのクエリ ID を表示できます。 グラフの色は、これを行うときに、特定のクエリ ID に対して変更できます。
Note
クエリ テキストの表示はサポートされなくなっており、空として表示されます。 セキュリティ上のリスクが生じる可能性があるクエリ テキストまたは基になるスキーマへの不正アクセスを回避するために、クエリ テキストは削除されます。
クエリ テキストを表示するには、次の手順をお勧めします。
- Azure portal の [クエリ パフォーマンスの分析情報] ブレードで上位クエリの query_id を特定します。
- MySQL Workbench、mysql.exe クライアント、または任意のクエリ ツールから Azure Database for MySQL サーバーにログインし、次のクエリを実行します。
SELECT * FROM mysql.query_store where query_id = '<insert query id from Query performance insight blade in Azure portal'; // for queries in Query Store
SELECT * FROM mysql.query_store_wait_stats where query_id = '<insert query id from Query performance insight blade in Azure portal'; // for wait statistics
特定の時間枠を絞り込むために、クリックして、グラフにドラッグします。 または、拡大および縮小アイコン使用して、より短い期間またはより長い期間をそれぞれ表示します。
待機統計
Note
待機統計は、クエリ パフォーマンスの問題をトラブルシューティングするためのものです。 トラブルシューティングの目的でのみ有効にすることをお勧めします。
Azure portal でエラー メッセージ "'Microsoft.DBforMySQL' で問題が発生しました。要求に対処できません。この問題が解決しないか、予想外のものである場合、サポートにお問い合わせいただき、この情報をお知らせください。" を受け取る場合は、期間を短くしてください。
待機統計では、特定のクエリの実行中に発生する待機イベントのビューが提供されます。 待機イベントの種類の詳細については、MySQL エンジンに関するドキュメントをご覧ください。
Wait Statistics タブを選択し、サーバー内の待機時間に関して、対応する視覚化を表示します。
待機統計ビューに表示されるクエリは、指定された時間間隔での最大待機を示すクエリでグループ化されます。
Note
クエリ テキストの表示はサポートされなくなっており、空として表示されます。 セキュリティ上のリスクが生じる可能性があるクエリ テキストまたは基になるスキーマへの不正アクセスを回避するために、クエリ テキストは削除されます。
クエリ テキストを表示するには、次の手順をお勧めします。
- Azure portal の [クエリ パフォーマンスの分析情報] ブレードで上位クエリの query_id を特定します。
- MySQL Workbench、mysql.exe クライアント、または任意のクエリ ツールから Azure Database for MySQL サーバーにログインし、次のクエリを実行します。
SELECT * FROM mysql.query_store where query_id = '<insert query id from Query performance insight blade in Azure portal'; // for queries in Query Store
SELECT * FROM mysql.query_store_wait_stats where query_id = '<insert query id from Query performance insight blade in Azure portal'; // for wait statistics
次のステップ
- Azure Database for MySQL での監視とチューニングの詳細を確認する。