Key Visualizer を使用する
このページでは、Key Visualizer を使用して、Bigtable の使用パターンに関連するパフォーマンスの問題を確認する方法について説明します。Key Visualizer を初めて利用する場合、この手順を少なくとも 1 回は確認しておくことをおすすめします。
このページを読む前に、Key Visualizer の概要を理解しておく必要があります。
特定の期間のスキャン結果を表示する
Key Visualizer は、1 クラスタあたり 1 GB 以上のデータが格納されているテーブルで使用できます。テーブルがそのサイズに達してからスキャンが使用できるようになるまでに、最大 1 時間かかります。
Key Visualizer を起動するには:
Google Cloud コンソールで Bigtable インスタンスのリストを開きます。
指標を表示するインスタンスをクリックします。
左側のナビゲーション パネルで、[Key Visualizer] をクリックします。
可視化するテーブルとクラスタを選択し、[選択] をクリックします。
Key Visualizer は、最後にテーブルのキーバケットが再計算された時点から現在の時刻までの期間のデータを表示します。
期間を変更するには:
[リソース] > [Key Visualizer] を選択します。
スライダー パドルを使用して、ヒートマップを表示する期間の開始時間と終了時間を選択します。
パドルを放すと、最も近い利用可能な時刻にパドルが移動します。
[更新] をクリックします。
期間の長さによっては、データが読み込まれるまでに少し時間がかかることがあります。
スキャン結果を確認する際、Key Visualizer のヒートマップには、各行の指標は表示されず、指標はキーバケットまたは連続する行範囲にグループ化されることに注意してください。詳しくは、キーバケットをご覧ください。
指標の比較やデータの相関関係の調査を行う場合は、選択したスキャンで複数の Key Visualizer の指標を同時に表示できます。手順については、複数の指標間の関係の探索をご覧ください。
パフォーマンスの問題をチェックする
以下のセクションでは、パフォーマンスの問題の初期チェックを完了する方法について説明します。
アクティビティの概要を表示する
まず、ヒートマップで Ops 指標を確認します。この指標は、1 分間に実行された 1 行あたりのオペレーション数を表します。この指標は、読み込みと書き込みの合計数とほぼ同じ値になります。デフォルトでは、Key Visualizer でヒートマップを開くと、この指標が表示されます。
次の例は、キー範囲で使用パターンの異なるヒートマップを示しています。
- 暗い色の部分は、アクティビティがほとんどない範囲です。
- 鮮やかな色の部分は、アクティビティがかなり多い範囲です。
- 中央の白い部分は、アクティビティが最も多い範囲を表します。
上の例では、一部のパターンが 24 時間ごとに繰り返されています。これは、大量のバッチジョブが毎日同じ時間に実行されている可能性があります。
明るい色の部分でパフォーマンスが低下しているとは限らないため、ヒートマップで Ops 指標を確認する場合はこの点に注意してください。多くの場合、読み取りと書き込みがテーブル全体でバランス良く実行されていなくても、Bigtable のパフォーマンスに問題はありません。
警告指標を確認する
警告指標が存在する場合、通常はパフォーマンスに問題が発生しています。警告指標の場合、Key Visualizer は、指標が表示される原因となった行キーまたはキー範囲の詳細情報を提供します。警告指標の詳細をご覧ください。
警告指標の値が高い場合、ヒートマップ上に診断メッセージが表示されるため、問題をすぐに特定できます。診断メッセージの詳細をご覧ください。
警告指標を確認するには、ヒートマップの上にある [Metric] プルダウン リストから、以下のいずれかの指標を選択します。
- Read pressure index
- Write pressure index
- Large rows
このリストの項目が無効になっている場合、そのカテゴリには警告は表示されません。それ以外の場合は、指標を表示して、問題の詳細を確認します。詳しくは、ヒートマップの確認をご覧ください。
ヒートマップに低い値の警告指標しか表示されていない場合、あるいは高い値が発生して 30 分以上経過していない場合は、何もする必要はありません。高い値が長期間継続する場合は、さらに詳しい調査が必要になります。
キーバケットの Read pressure index 指標が長時間 100 以上になっている場合は、次の操作を行ってインデックスを下げることができます。
- フィルタを使用して、読み取りデータの量を減らす。
- 頻繁に使用される行のデータや非常に大きな行のデータが複数の行に分割されるように、スキーマ設計またはアプリケーションを変更する。
- Bigtable からの読み取り結果をキャッシュに保存するように、アプリケーションを更新する。
キーバケットの Write pressure index 指標が長時間 100 以上になっている場合は、次の操作を行ってインデックスを下げることができます。
- 頻繁に使用される行のデータや非常に大きな行のデータが複数の行に分割されるように、スキーマ設計またはアプリケーションを変更する。
- Bigtable に対する書き込みをバッチで処理して重複を排除するように、アプリケーションを更新する。
キーバケットに Large rows 指標がある場合は、ハイライトされたキーバケットの行を調査し、行に格納されるデータ量が少なくなるようにスキーマ設計またはアプリケーションを変更します。
調査を続ける
パフォーマンス問題の初期チェックで主な警告や予期しないアクセス パターンが確認できなかった場合は、Key Visualizer を終了できます。そうでない場合は、他の指標を確認し、問題の原因と考えられるキー範囲を集中的に調査します。こちらで詳細をご確認ください。
次のステップ
- ヒートマップの共通パターンを認識する。
- ヒートマップの確認方法を学習する。
- ヒートマップに表示可能な指標を理解する。
- Key Visualizer に表示される診断メッセージを理解する。