クエリシェイプ インサイト を使用すると、実行速度が遅いクエリを持つクエリシェイプの操作レベルのクエリ実行メトリクスを監視できます。Query Shape Insights ページには、プロジェクト内で合計実行時間が最も長いクエリシェイプのパフォーマンス メトリクスを説明するチャートと表が表示されます。表示されるクエリシェイプデータを、ホスト、シャード、および時間範囲ごとにフィルタリングして、対応するメトリック チャートで視覚化するクエリシェイプを最大 5 つ選択できます。
Atlas は、 MongoDBバージョン 8.0 以降を実行中専用クラスター(M10 以上)に対してのみクエリシェイプ インサイトをサポートしています。
Atlas がクエリシェイプ統計を収集する方法
クエリシェイプ インサイトは、クラスターで実行される操作のサブセットからデータを表示します。コレクション方法は、クラスターの MongoDB バージョンによって異なります。
MongoDB 8.x を実行しているクラスター上では、Atlas は、各ホストで1秒あたり最大100件の読み取りクエリを記録します。Atlas は書き込み (write)操作を収集しません。
デフォルトでは、MongoDB 9.0 以降を実行しているクラスターで、Atlas は読み取りおよび書き込み (write)操作の 1% をランダムにサンプルします。表示されるメトリクス値は、サンプルされた操作のみを反映します。全体の操作の約 1% です。実行する頻度の低いクエリシェイプは結果に表示されない場合があります。このメソッドでは、書き込み (write)操作 (
insert、update、delete) も収集されます。これらはクエリシェイプインサイトに読み取り操作とともに表示されます。
注意
MongoDB 8.x から 9.0 へクラスターをアップグレードすると、クエリシェイプインサイトのメトリクスの合計がアップグレード前と比べて大きく異なって見える可能性があります。この違いは、クラスターのワークロードの変更ではなく、サンプリング方法の変更を反映しています。
必要なアクセス権
クエリシェイプ インサイトでメトリクスを表示するには、プロジェクトに対する Project Observability Viewer、Project Data Access Read Only、Project Data Access Read/Write、Project Data Access Admin、またはProject Ownerアクセス権が必要です。
重要
フィールド名を表示するが編集された値にはユーザー PII が含まれる場合があります。クエリシェイプ インサイト で切り捨てられたクエリシェイプまたは完全なクエリシェイプを表示するには、上記のいずれかのプロジェクトロールが必要です。それぞれにビュー PII へのアクセス権が付与されます。これらの権限を持たないユーザーの場合、クエリシェイプインサイトはクエリシェイプハッシュによってクエリシェイプを識別します。
クエリシェイプのインサイトにアクセスする
クエリシェイプインサイトにアクセスするには
Atlas で、プロジェクトの Clusters ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、 Database見出しの下のClustersをクリックします。
[ Clusters (クラスター) ] ページが表示されます。
フィルタークエリのインサイト
Query Insights ページは、ノード、ノードの状態(プライマリまたはセカンダリ)、シャードでフィルタリングできます。過去 7 日以内のカスタム日付範囲でフィルタリングすることも、事前設定された時間範囲からいずれかを選択することもできます。
7 日間
5 日間
2 日
24 時間(デフォルト)
12時間
8 時間
1 時間
フィルターを適用すると、Atlas は現在の画面のチャートと表のデータを再取得します。
チャートと表でメトリクスを表示
クエリシェイプ インサイト には、実行速度が遅いクエリを含むプロジェクト内のクエリシェイプのメトリクスを説明するチャートと表が表示されます。
クエリシェイプ インサイト テーブルには、プロジェクト内の上位クエリシェイプごとに 1 行が含まれています。ここで、上位クエリシェイプは最も高い合計実行時間によって決まります。各行には、クエリシェイプまたはそのクエリシェイプハッシュ、クエリシェイプの名前空間、クエリコマンド、および表示するように選択したメトリックが含まれています。Edit Columns ボタンを使用して、次のいずれかをテーブルの列として含めるメトリクスを選択できます。
メトリクス | 説明 |
|---|---|
合計実行時間 | |
平均実行時間 | |
Execution Count | 特定のクエリシェイプを持つクエリが実行された合計回数。 |
検査されたキー | 指定されたクエリシェイプを持つクエリによって検査された、限界内のインデックス キーと限界外のインデックスキーの総数。 |
キーが検査され、返された | 特定のクエリシェイプを持つクエリによって返されたドキュメントを含むインデックスに対する検査された限界内のインデックス キーと限界外のインデックスキーの割合。 |
ドキュメントが検査された | 指定されたクエリシェイプを持つクエリによって検査されたドキュメントの合計数。 |
返されたDocs | 指定されたクエリシェイプを持つクエリによって返されたドキュメントの合計数。 |
ドキュメントが検査された: 返された | 指定されたクエリシェイプを持つクエリによって返されたドキュメントに対する検査されたドキュメントの割合。 |
Docs マッチした | 指定されたクエリシェイプを持つクエリによってマッチされたドキュメントの合計数。MongoDB 9.0 以降を実行しているクラスターでの書き込み (write)コマンドのみ利用可能です。 |
Docs 変更済み | 指定されたクエリシェイプを持つクエリによって変更されたドキュメントの総数。MongoDB 9.0 以降を実行しているクラスターでの書き込み (write)コマンドのみ利用可能です。 |
Docs アップサートされました | 指定されたクエリシェイプを持つクエリによってアップサートされたドキュメントの総数。MongoDB 9.0 以降を実行しているクラスターでの書き込み (write)コマンドのみ利用可能です。 |
Docs 挿入済み | 指定されたクエリシェイプを持つクエリによって挿入されたドキュメントの総数。MongoDB 9.0 以降を実行しているクラスターでの書き込み (write)コマンドのみ利用可能です。 |
Docs 削除済み | 指定されたクエリシェイプを持つクエリによって削除されたドキュメントの総数。MongoDB 9.0 以降を実行しているクラスターでの書き込み (write)コマンドのみ利用可能です。 |
キー挿入済み | 指定されたクエリシェイプを持つクエリによって挿入されたインデックス キーの総数。MongoDB 9.0 以降を実行しているクラスターでの書き込み (write)コマンドのみ利用可能です。 |
キーズ削除済み | 指定されたクエリシェイプを持つクエリによって削除されたインデックスキーの合計数。MongoDB 9.0 以降を実行しているクラスターでの書き込み (write)コマンドのみ利用可能です。 |
応答までの合計時間 | クエリ処理の開始から最初のサーバー応答までに費やされた時間(マイクロ秒単位)。 |
最終実行時間 | 指定されたクエリシェイプ)。 |
P50 実行時間 | 実行時間ヒストグラムの 50 パーセンタイル。 |
P90 実行時間 | 実行時間ヒストグラムの 90 パーセンタイル。 |
P99 実行時間 | 実行時間ヒストグラムの 99 パーセンタイル。 |
また、Query Shape Statistics コンポーネント ヘッダーのドロップダウン メニューからチャートを作成する各メトリクスを選択して、上記のメトリクスの 1 つ以上のチャートを表示することもできます。
Atlas は、一度に最大 5 つのクエリシェイプの各メトリクスをチャートできます。デフォルトでは 、Atlas は、最も高い Total Execution Time を持つ 5 つのクエリシェイプの各メトリックを Chartします。 目的のクエリシェイプの行のチェックボックスを選択または選択解除することで、さまざまなクエリシェイプをチャートすることができます。テーブルからどのクエリシェイプをチャートするかを管理するには、目的のクエリシェイプの行のチェックボックスを選択または選択解除します。
クエリシェイプの詳細を表示するには、クエリシェイプの行をクリックして Query Shape Details ビューを開きます。このビューには、完全なクエリシェイプとクエリシェイプハッシュ、上記の各テーブル メトリクス、および次の追加のメトリクスが含まれています。
最終表示タイムスタンプ
最初の参照タイムスタンプ
最後に表示されたアプリケーション
最後に表示されたドライバー名とバージョン
アプリケーションを初めて確認
最初に表示されるドライバー名とバージョン
クエリシェイプレポート
Atlas から、プロジェクト内のクラスターに関する非効率的なクエリシェイプを要約したクエリシェイプレポートメールを送信できます。低速クエリを特定して調査するのに役立つよう、レポートは Query Shape Insights ページに直接リンクします。
適格
Atlas は、プロジェクトが次の条件を満たした場合、クエリシェイプレポートに自動的にサブスクライブする:
プロジェクトは
Query Targeting: Scanned Objects / Returnedアラートを受信します。アラートは、MongoDB バージョン 8.0 以上を実行している専有クラスター (M10 以上) から発生します。
Project Owner ユーザーは、プロジェクトがクエリアラートを受信したかどうかに関係なく、クエリシェイプ レポートを手動でサブスクライブするまたはサブスクライブ解除することもできます。詳細については、「レポートのサブスクリプションを管理する」を参照してください。
行動を報告
Atlas はクエリシェイプレポートを以下の予定に従って送信します:
プロジェクトが適格になると、Atlas は
Query Targeting: Scanned Objects / Returnedアラートの約1時間後に最初のレポートを送信します。Atlas は、プロジェクトが解除するまで、約1週間に1回の割合で追加レポートを送信します。
Atlas は各レポートを、 Project Owner ロールを持つすべてのユーザーに送信します。
選定されたレポート作成期間に適合するクエリシェイプが存在しない場合、Atlas はそのレポートをスキップし、次の予定されたレポートの処理を再開します。
レポート内容
各クエリシェイプレポートメールには、次の情報が含まれています。
Atlas UI 内での組織、プロジェクト、およびクラスターへのリンク。
クラスターの Query Shape Insights ページへのリンク。
総実行時間によってランク付けされた、最大5つまでのクエリシェイプの表。各クエリシェイプが表示されるには、レポート作成期間中に少なくとも 10 回実行されている必要があります。
Query Shape Insights ページ上の各クエリシェイプの詳細へのリンク
Project Settings 内のレポートのサブスクリプション設定へのリンク。詳細については、「プロジェクト設定の管理」を参照してください。
クエリシェイプテーブルには、過去 3 日間の各クエリシェイプについて次のメトリクスが含まれています。
コラム | 説明 |
|---|---|
コレクション名 | クエリシェイプがターゲットとするコレクションの名前。 |
平均実行時間 | 指定されたクエリシェイプを使用したクエリ実行の平均時間。 |
Execution Count | 指定されたクエリシェイプのクエリが実行された合計回数。 |
Docs 検討済み:返された比率 | 指定されたクエリシェイプを持つクエリによって返されたドキュメントに対する検査されたドキュメントの割合。 |
レポートのサブスクリプションの管理
プロジェクトの設定で、クエリシェイプレポートをサブスクライブするまたはサブスクライブ解除することができます。この設定は、プロジェクト内のすべてのユーザーのレポートを制御します。Project Owner ロールを持つユーザーのみがサブスクリプションを変更できます。また、Project Owner ユーザーのみがレポートを受け取ります。
クエリシェイプレポートを管理するには:
Atlas で、 Project Settings ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、 アイコンを Project Overview の横にあるをクリックします。
- プロジェクト設定ページ
- は を表示します。
Query Shape Reports 設定を切り替えます。
サブスクライブするにはトグルをオンにし、サブスクライブを解除するにはオフにします。初めてサブスクライブしています際は、レポートに含めたいクラスターを選択します。変更は、プロジェクト内のすべての Project Owner ユーザーに適用されます。
また、クエリシェイプレポートメール内の購読解除リンクをクリックして、購読を解除することもできます。リンクをクリックすると Project Settings に移動します。そこで Atlas がプロジェクトの登録を解除します。購読解除リンクは、ログインせずに利用できます。
制限
クエリシェイプレポートには、次の制限があります。
サブスクリプション設定はプロジェクト全体に適用されます。個別のユーザーをサブスクライブするまたはサブスクライブ解除することはできません。
クエリシェイプ レポートは Atlas Administration API から利用できません。
チャート化するクエリシェイプの選択
デフォルトでは 、Query Shape Insights には、最高の Total Execution Time を持つ上位 5 つのクエリシェイプのメトリクス チャートが表示されます。Query Shape Insights テーブルでは、最大 5 つのクエリシェイプを選択できます。
Query Shape Insights テーブルでクエリシェイプを検索して選択するには、次の手順に従います。