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

クエリ テキストの表示はサポートされなくなっており、空として表示されます。 セキュリティ上のリスクが生じる可能性があるクエリ テキストまたは基になるスキーマへの不正アクセスを回避するために、クエリ テキストは削除されます。

クエリ テキストを表示するには、次の手順をお勧めします。

  1. Azure portal の [クエリ パフォーマンスの分析情報] ブレードで上位クエリの query_id を特定します。
  2. 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

特定の時間枠を絞り込むために、クリックして、グラフにドラッグします。 または、拡大および縮小アイコン使用して、より短い期間またはより長い期間をそれぞれ表示します。

Query Performance Insight long running queries

待機統計

Note

待機統計は、クエリ パフォーマンスの問題をトラブルシューティングするためのものです。 トラブルシューティングの目的でのみ有効にすることをお勧めします。
Azure portal でエラー メッセージ "'Microsoft.DBforMySQL' で問題が発生しました。要求に対処できません。この問題が解決しないか、予想外のものである場合、サポートにお問い合わせいただき、この情報をお知らせください。" を受け取る場合は、期間を短くしてください。

待機統計では、特定のクエリの実行中に発生する待機イベントのビューが提供されます。 待機イベントの種類の詳細については、MySQL エンジンに関するドキュメントをご覧ください。

Wait Statistics タブを選択し、サーバー内の待機時間に関して、対応する視覚化を表示します。

待機統計ビューに表示されるクエリは、指定された時間間隔での最大待機を示すクエリでグループ化されます。

Note

クエリ テキストの表示はサポートされなくなっており、空として表示されます。 セキュリティ上のリスクが生じる可能性があるクエリ テキストまたは基になるスキーマへの不正アクセスを回避するために、クエリ テキストは削除されます。

クエリ テキストを表示するには、次の手順をお勧めします。

  1. Azure portal の [クエリ パフォーマンスの分析情報] ブレードで上位クエリの query_id を特定します。
  2. 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

Query Performance Insight waits statistics

次のステップ