適用対象:✅ Microsoft Fabric SQL データベース
Fabric SQL データベースのパフォーマンス ダッシュボードには、データベースのパフォーマンス状態が表示され、さまざまなレベルのメトリックを可視化できます。
パフォーマンス ダッシュボードを使用すると、データベースのパフォーマンス メトリックを表示し、パフォーマンスのボトルネックを特定し、パフォーマンスの問題の解決策を見つけることができます。
Fabric SQL データベースのパフォーマンス ダッシュボードを開くには:
[クエリ エディター] ウィンドウの [ホーム] ツール バーで、[パフォーマンスの要約] を選択します。
項目ビューのコンテキスト ボタン (3 つのドット) を右クリックし、[パフォーマンスの要約を開く] を選択します。
警告
事前に設定した条件で自動的に生成されたアラートには、次の 2 種類の通知があります。
進行中のアラート: いずれかのパラメーター (CPU、ブロック クエリ、または割り当て済みサイズ) が重大な状態になると、水平アラート通知バーが表示されます。
保留中のアラート: このアラートは、システムに格納され、データベース パラメーターが重大な状態に達するために分析が必要であることを示すアラートを提供します。
Fabric ポータルのパフォーマンス ダッシュボードにおける保留中のアラート インジケーターを示すスクリーンショット。
アラートのリンクを選択すると、[パフォーマンスの要約] にアラートの要約とデータベースの最近のメトリックが表示されます。 ここから、イベント タイムラインにドリルダウンして詳細を確認できます。
パフォーマンス ダッシュボード グラフ
データベースが CPU 消費量の重大な状態 (またはアラートを発生させるその他の要因) に達すると、CPU 消費量タブのグラフに異常ポイントがマークされ、 CPU 消費量 がしきい値を超えたポイントをマークできます。 時間間隔は構成可能であり、既定値は 24 時間です。
次の画像の [CPU 使用量] グラフは、データベースがいつ重大な状態に達したかを示しています。
アラートのしきい値条件
タブ | しきい値 | 条件 |
---|---|---|
CPU 使用量 | 割り当てられた値の 80% | CPU がしきい値を上回った状態で 5 分間を超えたことをモニターが検出した場合。 モニターにより、1 分の頻度でチェックされます。 |
割り当てられたサイズ | 割り当てられたサイズの 80% | サイズがしきい値を上回った状態で 5 分間を超えたことをモニターが検出した場合。 モニターにより、1 分の頻度でチェックされます。 |
ブロックされたクエリ | 1 つのブロックされたクエリ | 少なくとも1つのクエリが1分以上ブロックされている場合。 モニターは 3 分の頻度でチェックします。 |
パフォーマンス ダッシュボードのタブ
以下は、パフォーマンス ダッシュボードの組み込みのレポート領域です。
CPU 消費量
CPU 消費量グラフには、Y 軸に沿った CPU 使用率 (仮想コア単位) と X 軸に沿った時間が表示されます。 グラフにカーソルを合わせると、その特定の期間内のイベント期間、状態、CPU 使用率などの詳細が表示されます。 グラフの時間範囲を展開して、詳細を表示できます。
このダッシュボードに表示される CPU 傾向は、ユーザー クエリによる使用量のみを表します。 プロビジョニング、システム メンテナンス、その他のバックグラウンド操作に使用される CPU は含まれません。 パフォーマンス ダッシュボードは、ファブリックの使用量に直接関連付けられません。 使用量を追跡するには、 Microsoft Fabric 容量メトリック アプリを使用します。
メモリ消費
メモリ消費量グラフには、Y 軸に沿ったメモリ消費量 (メガバイト単位) と X 軸に沿った時間が表示されます。 グラフには、標準とメモリスピルオーバーの 2 つの系列が表示されます。 通常のシリーズは、時間間隔中に tempdb
にスピルしなかったユーザー クエリからのメモリ使用量の合計を示しています。 クエリが tempdb
にスピルした場合、そのスピルオーバーの量がグラフ上に 2 番目の赤い系列として表示されます。 グラフにカーソルを合わせると、時間間隔、メモリ消費量、実行回数、メモリスピルオーバーなどの詳細が表示されます。
テーブルには、最近のメモリ消費履歴のグラフに加えて、その時間間隔でメモリ消費量が最も多いクエリが表示されます。 ダッシュボードの他の対話型部分と同様に、クエリを選択すると、そのクエリの詳細が表示されます。
ユーザー接続数
[ユーザー接続] グラフでは、データベースへのユーザーの現在の接続を、各接続に関する情報と共に追跡します。 [ユーザー接続 (現在)] テーブルには、テーブル内の現在のユーザー接続が一覧表示されます。
1 秒あたりの要求数
1 秒あたりの要求数グラフは、クエリが一定期間に実行された累積回数を追跡します。 [要求数/秒] テーブルには、最も頻繁に実行されるクエリが含まれます。
ブロックされたクエリ数/秒
[ブロックされたクエリ数/秒] グラフでは、ロックが原因のクエリ エクスペリエンスのブロックを追跡します。 [ブロックされたクエリ (現在)] テーブルには、任意の時点におけるブロックされたクエリのセットが表示されます。
SQL Database エンジンのブロックは、1 つのセッションで、特定のリソースに対してロックが保持されているときに、2 つ目の SPID から、同じリソースに対して競合するロックの種類を取得しようとしたときに発生します。 通常、最初の SPID によってリソースがロックされる期間はわずかです。 所有しているセッションでロックが解放されると、2 つ目の接続によって、自由にそのリソースへの独自のロックが取得され、処理が続行されます。 ブロックは通常の動作であり、システムのパフォーマンスに顕著な影響を与えることなく、日に何度も発生する可能性があります。
ブロックの詳細については、ブロックの問題の概要と解決に関する記事を参照してください。
ロックが原因でブロックされたクエリは、デッドロックとは異なります。 ブロック状況のトラブルシューティング時には、ブロックされているクエリとブロックされている期間をユーザーが把握することが重要です。
割り当てられたサイズ
[割り当てられたサイズ] タブには、データベースのサイズの履歴が表示されます。 最大データベース テーブル (現在の) テーブルは、レコードの数が最も多く、最も多くの領域を消費するテーブルを識別します。
自動インデックス
データベースの自動インデックス作成により、インデックス管理が自動化され、クエリのパフォーマンスとデータ取得の速度が向上します。 列の使用状況に基づいて潜在的なインデックスを特定してテストすることで適応します。 この機能により、使用されていないインデックスを削除することで、データベース全体のパフォーマンスが向上し、リソースが最適化されます。
[自動インデックス] タブのレポートには、自動的に作成されたインデックスの履歴と状態が表示されます。
クエリ
[クエリ] タブでは、クエリを開いてクエリの詳細をトラブルシューティングすることができます。 各クエリには、実行履歴やクエリのプレビューなどの詳細が含まれます。
T-SQL クエリをトラブルシューティングするには、クエリ エディター、SQL Server Management Studio、Visual Studio Code の mssql 拡張機能で T-SQL コードを開きます。 Fabric SQL データベースには Copilot の説明機能とクイック アクション修正機能を検討することもできます。
[クエリ] セクションのタブには、クエリ ID、クエリ テキスト、メトリック、実行回数に加えて、次のメトリックによる個々のクエリに関する詳細なレポートも表示されます。
高い CPU 使用率のクエリ
- CPU 使用量が最も多いクエリの並べ替え可能な一覧。最初は [合計 CPU (ms)] の降順で並べ替えられています。
メモリ使用率の高いクエリ
- メモリ消費量が最も多いクエリの並べ替え可能なリスト。最初は合計メモリ (MB) 降順で並べ替えられます。
実行時間が最長のクエリ
- 最初は [合計期間 (ms)] の降順で並べ替えられています。
最も使用されるクエリ
- 最初は [実行回数] の降順で並べ替えられています。
読み取りが多いクエリ
- 最初は [合計論理読み取り数] の降順で並べ替えられています。