| Cloud Firestore Enterprise エディションにのみ関連します。 |
このページでは、Query Insights ダッシュボードを使用し、クエリのパフォーマンスを検出して分析する方法について説明します。
Query Insights の概要
Query Insights ダッシュボードを使用して、指標関連のクエリをモニタリングします。指標に基づいて、最も頻繁に使用されるクエリと、最適化が必要になる可能性のあるレイテンシの高いクエリを特定できます。Query Insights ダッシュボードは、次のことに役立ちます。
- クエリ パフォーマンスの最適化: レイテンシが高く、最適化が必要になる可能性があるクエリを特定します。
- クエリ費用管理: 費用のかかるクエリを特定し、最適化して費用を削減します。
- クエリ統計のモニタリング: クエリ統計の推移を追跡します。
Query Insights のデータ
Query Insights には、次の API メソッドのデータが含まれます。
findaggregate
これらのメソッドを使用するクエリに関して、特定のプロジェクト、データベース、10 分から 30 日までの範囲の期間のデータを表示できます。同等の構造を使用するクエリに対するデータは、単一の正規化されたクエリでキャプチャされます。
Query Insights は、クエリに関する次の情報を返します。
| 正規化されたクエリテキスト | テキストで表されたクエリ構造。 |
| 実行回数 | 選択した時間枠内の実行数。 |
| エラー件数 | 選択した時間枠内のエラーの数。 |
| 平均実行時間(ms) | データベースがクエリの処理に要したミリ秒単位の平均時間。 |
| 返された結果の平均数 | 検索によって返された結果の数。結果には、ドキュメント、コレクション ID、集計バケットが含まれます。 |
| スキャンされたドキュメントの平均数 | クエリでスキャンされたドキュメントの数。 |
| スキャンされたインデックス エントリの平均数 | クエリの実行のために検査されたインデックス エントリの数。 |
| 平均実行時間別の負荷 | 平均レイテンシに基づいて上位のクエリをフィルタするのに役立つデータ。 |
| 負荷(課金対象の読み取りオペレーションの合計数) | 課金対象の読み取りオペレーションの合計数に基づいて上位のクエリをフィルタするのに役立つデータ。 |
データの粒度と保持
データの粒度は、指定した期間によって異なります。
- 過去 4 日以内の場合、10 分単位の粒度
- 過去 30 日以内の場合、1 時間単位の粒度
Query Insights の最大データ保持期間は 30 日です。10 分のデータは 4 日間保存され、1 時間のデータは 30 日間保存されます。
制限事項
Query Insights のデータには 1~2 時間の遅延があります。
料金
Query Insights に追加料金は発生しません。
必要なロール
Query Insights ダッシュボードを表示するために必要な権限を取得するには、プロジェクトに対する Datastore 閲覧者(roles/datastore.viewer)IAM ロールを付与するよう管理者に依頼してください。
この事前定義ロールには、Query Insights ダッシュボードを表示するために必要な datastore.insights.get 権限が含まれています。
カスタムロールや他の事前定義ロールを使用して、この権限を取得することもできます。
Query Insights を表示
MongoDB 互換の Cloud Firestore データベースの Query Insights を表示するには、Google Cloud コンソールでデータベースの [Query insights] ペインを開きます。
Google Cloud コンソールで [Database] ページに移動します。
データベースのリストからデータベースを選択します。
ナビゲーション メニューで [Query Insights] をクリックします。

[読み込みのタイプ] プルダウンを使用して、レイテンシまたは読み取りオペレーションの数で上位のクエリを見つけます。