この投稿では、クエリパフォーマンスインサイトについて簡単に説明します。 —データベースで最もコストのかかるクエリを特定するのに役立つSQLAzureツール。
Query Performance Insightsは2015年10月初旬に発表されました。それが何であるかを理解するために、データベースのパフォーマンスが低下したことを通常どのように知るかを考えてみましょう。おそらく、クライアントからメールを受信しているか、週次レポートの作成に数分ではなく1時間かかるか、アプリケーションが例外をスローし始めている可能性があります。
新しいAzureポータル
いくつかのアクションを実行するには、portal.azure.comにアクセスし、リソースリストでデータベースを見つけて、監視グラフの監視を開始します。
はい、何かが起こりました。DTUは90%に跳ね上がりました、次は何ですか?詳細を調べて原因を見つけるために、QueryPerformanceInsightをロードしてみましょう。
クエリパフォーマンスインサイト
Query Performance Insightを開始するには、次の手順を実行します。
1.ポータルで、SQLデータベースを参照し、[クエリパフォーマンスインサイト]をクリックします。
2.詳細については、グラフを参照してください。
上の行は、データベースの全体的なDTU%を示し、バーは、選択した間隔中に選択したクエリによって消費されたCPU%を示します(たとえば、過去1週間が各バーを選択した場合) 1日を表します。
下のグリッドは、表示されているクエリの集計情報を表しています。
- 監視可能な間隔中のクエリあたりの平均CPU。
- クエリごとの合計期間。
- 特定のクエリの実行の総数。
個々のクエリを選択またはクリアして、チャートに含めるか除外します。
3.古いデータの場合は、[更新]ボタンをクリックできます。
4。 CPUがデータを消費する方法の表現をカスタマイズしたり、別の期間を表示したりするには、[設定]をクリックします。
個々のクエリの詳細を調べる
最も多くのCPUを使用したクエリを開きましょう。クエリの詳細を表示するには:
1.上位のクエリのリストで任意のクエリをクリックします。
詳細ビューが開き、クエリのCPU消費量が時間の経過とともに分類されます。詳細はチャートをご覧ください。一番上の行は全体のDTU%であり、バーは選択したクエリによって消費されたCPU%です。
2.データを分析して、クエリが実行されていた各間隔の期間、実行回数、リソース使用率などの詳細な指標を取得します。
QueryPerformanceInsight用のQueryStore構成の最適化
Query Performance Insightを使用しているときに、次のQueryStoreメッセージが表示される場合があります。
- 「クエリストアは容量に達しましたが、新しいデータを収集していません。」
- 「このデータベースのクエリストアは読み取り専用モードであり、パフォーマンスインサイトデータを収集していません。」
- 「クエリストアのパラメータは、クエリパフォーマンスインサイトに最適に設定されていません。」
これらは基本的に、クエリストアが新しいデータを収集できない場合に表示されます。修復するには、次のオプションを使用できます。
- クエリストアの保持とキャプチャのポリシーを変更する
- クエリストアのサイズを大きくする
- クエリストアをクリアする
- 推奨
推奨される保持およびキャプチャポリシー
保持ポリシーには次の2種類があります。
サイズベース – AUTOは、最大サイズに達するとデータを自動的にクリーンアップします。
時間ベース –デフォルト値は30日です。クエリストアの容量がなくなると、30日以上経過したクエリ情報が削除されます。
キャプチャポリシーは次のように設定できます:
すべて –デフォルトオプション(すべてのクエリをキャプチャします)。
自動 –まれなクエリ、およびコンパイルと実行の期間が重要でないクエリは無視されます。実行回数、コンパイル、実行時間のしきい値は内部で決定されます。
なし –クエリストアは新しいクエリのキャプチャを停止します。
概要
Query Performance Insightを使用すると、クエリワークロードの影響と、それがデータベースリソースの消費にどのように関連しているかを分析および理解できます。このツールを使用すると、最も消費量の多いクエリについて学習し、問題が発生する前に修正するクエリを簡単に特定できます。
さらに読む:
クエリストア:データベース用のフライトデータレコーダー