このページでは、Datastore モードの Firestore 用の Key Visualizer 診断ツールの概要について説明します。
Key Visualizer とは
Key Visualizer は、Datastore モードの使用パターンの分析に役立つツールです。アクセスするエンティティに基づいて使用状況を分類するビジュアルなレポートが生成されます。
Key Visualizer によって、使用パターンに関する大規模な分析情報を取得できます。Key Visualizer の用途には次のものがあります。
- パフォーマンスの問題に対してトラブルシューティングを行う。 Key Visualizer は、連続するエンティティ キーのホットスポットや急激なトラフィックの増加によって起こる、データベースのパフォーマンスの問題を特定するのに役立ちます。
- Datastore モードに保存されているデータへのアクセス方法を理解する。
- データモデルを反復方式で設計するか、既存のデータモデルの設計を改善する。それぞれのイテレーションで、Key Visualizer を使用してデータモデルの問題を確認できます。
これらの目的で Key Visualizer を使用すると、次のことを行うことができます。
- 読み取りまたは書き込みで、特定のエンティティ範囲のホットスポットが作成されるかどうかを確認する。
- トラフィックの急増がレイテンシにどのように影響するかを確認する。
- データベース全体でバランスよくアクセスされているかどうかを確認する。
スキャン要件
Key Visualizer の各スキャンは、2 時間の期間に対応しています。特定の期間のスキャンは、その期間中の 1 分間に 3,000 回を超えるドキュメント オペレーションのトラフィックがあるデータベースに対して使用できます。
スキャンの適格性は、データベースのアクティビティに完全に依存します。データ量やデータベース内のデータの種類には依存しません。
Key Visualizer スキャン
次の画像は、Key Visualizer スキャンの画面です。各スキャンには、エンティティ キーのグループに対するアクセス パターンまたはパフォーマンス指標の推移を示すヒートマップが含まれています。
スキャン URL の共有
Key Visualizer スキャンの URL は共有またはブックマークできます。この URL は同じ Key Visualizer スキャンを開き、同じ指標を選択します。この URL は、スキャンのデータ期間が終了するまで有効です。
ヒートマップ
Key Visualizer スキャンのコア部分はヒートマップです。ここには、最大 1,000 個の連続するキーバケットに分割された指標値の推移が表示されます。ヒートマップの X 軸は時間を表し、Y 軸はエンティティ キーを表します。Datastore モードの Firestore の各 Key Visualizer スキャンは、10 秒のセグメントに分割された 2 時間のアクティビティに対応しています。
指標の低い値は「コールド」と見なされ、暗い色で表示されます。 値が高い場合は「ホット」状態になり、明るい色で表示されます。最高値は白で表示されます。
使用パターンが異なると、ヒートマップに表示されるパターンも変わるので、問題の部分を一目で特定できます。共通パターンの例については、ヒートマップのパターンをご覧ください。
Key Visualizer には、スキャン結果の分析に役立つツールが用意されています。Key Visualizer スタートガイドとヒートマップの使い方をご覧ください。
キーバケット
Key Visualizer は、データベース内のすべてのキーを最大 1,000 個の連続範囲に分割し、それぞれの範囲にほぼ同じ数のキーが含まれるようにします。この範囲をキーバケットといいます。
Key Visualizer の指標は、各キーバケット全体の平均値または各キーバケット内の最大値としてレポートされます。
指標
Datastore モードの Key Visualizer スキャンでは、次の指標を使用できます。
指標 | 説明 |
---|---|
アクティビティの指標 | |
オペレーション/秒 | 1 秒あたりのエンティティ操作の平均数。1 秒あたりの書き込み、ルックアップ、クエリの合計とほぼ同じです。この指標はホットなキーを示します。 |
書き込みオペレーション/秒 | 書き込みと削除の、1 秒あたりの平均エンティティ オペレーション数。 |
ルックアップ オペレーション/秒 | ルックアップの 1 秒あたりのエンティティ オペレーションの平均数。 |
クエリ オペレーション数/秒 | クエリの 1 秒あたりのエンティティ オペレーションの平均数。 |
パフォーマンス指標 | |
書き込み平均レイテンシ | バケットで処理されたデータ内の書き込みと削除の平均レイテンシ。 |
ルックアップ平均レイテンシ | バケットで処理されたデータ内のルックアップの平均レイテンシ。 |
クエリの平均レイテンシ | バケットで処理されたデータ内のクエリの平均レイテンシ。 |
書き込みテール レイテンシ | バケットで処理されたデータ内で観測された書き込みレイテンシまたは削除レイテンシの最大値。 |
ルックアップ テール レイテンシ | バケットで処理されたデータ内で観測された最大ルックアップ レイテンシ。 |
クエリテール レイテンシ | バケットで処理されたデータ内で観測された最大クエリ レイテンシ。 |
パフォーマンスの平均
平均レイテンシ指標は、キーバケット内のキーの平均です。この測定はストレージ レイヤで行われるため、ここで報告されるレイテンシは API 呼び出しが経験する合計レイテンシよりも低くなる場合があります。
上限
Key Visualizer にはさまざまな指標が表示されますが、Datastore モードのパフォーマンスに影響を及ぼす可能性がある指標がすべて表示されるわけではありません。次に例を示します。
アプリケーションと Google Cloud の間のネットワークの問題は表示されない場合があります。これらは、Key Visualizer のすべてのキーで縦方向のバンドとして表示され、得られるのは問題が発生したタイミングについてのヒントのみです。
インデックスに起因するパフォーマンスの問題は表示されません。インデックスの書き込みパフォーマンスを直接測定する指標はありません。ただし、インデックスはレイテンシ指標に影響します。
データ期間
Datastore モードの Firestore 用の Key Visualizer によって収集されたデータは、14 日後に削除されます。
Key Visualizer では、過去 14 日間のデータを利用できます。たとえば、12 月 19 日の午後 12 時 45 分に Key Visualizer を起動した場合、2 時間の開始時間として選択できる最も早い開始時刻は 12 月 5 日の午後 1 時です。
また、Key Visualizer スキャンの URL をブックマークに登録するか、共有する場合、その URL の有効期間は最大 14 日になります。
次のステップ
- Key Visualizer の使い方を学習する。
- Key Visualizer ヒートマップに表示されるパターンを学習する。
- ヒートマップの確認方法を理解する。