クライアントサイドの指標の概要
Bigtable では、クライアントサイドの指標をサーバーサイドの指標と組み合わせて使用することで、パフォーマンスを最適化できます。また、パフォーマンスの問題が発生した場合にトラブルシューティングを行うことができます。
このページでは、Bigtable のクライアントサイド指標の概要と、それらを使用するタイミングについて説明します。設定と構成手順については、クライアントサイドの指標を設定するをご覧ください。指標の詳細なリストについては、クライアントサイドの指標の説明をご覧ください。
クライアントサイドの指標は、リクエストがアプリケーションから離れてから、アプリケーションがレスポンスを受信するまでの時間で測定されます。一方、サーバーサイドの指標は、Bigtable がリクエストを受け取ってから、データの最後のバイトがクライアントに送信されるまでの時間で測定されます。
クライアントサイドの指標は、次のクライアント ライブラリのユーザーが利用できます。
これらの指標は、Google Cloud コンソールの [Cloud Monitoring] セクションの [Metrics Explorer] で確認できます。また、Cloud Monitoring API を使用してアクセスすることもできます。
アップグレードのタイミング
Bigtable のクライアントサイド指標を使用するように、OpenCensus Stats と統合されているすべてのアプリケーションを更新することをおすすめします。Bigtable のクライアントサイド指標は OpenCensus 統合で改善され、OpenCensus Stats とは異なり、指標を公開するための追加コストは発生しません。
クライアントサイドの指標を使用するタイミング
Bigtable のパフォーマンスを完全かつ実用的なビューで把握するには、常にクライアントサイドの指標をサーバーサイドのモニタリング指標と組み合わせて使用することをおすすめします。クライアントサイドとサーバーサイドの両方からの指標を表示すると、パフォーマンスの最適化や問題のトラブルシューティングを行う際に役立ちます。さらに、問題が発生しているリクエスト ライフサイクルのセグメントを特定する際にも特に役立ちます。
両タイプの指標の併用は、次のタイプのワークロードに特に役立ちます。
- ユーザー向けアプリケーションと商用アプリケーションのサービス提供パスの読み取り
- 重要なバックエンド サービス
- 複数のコンシューマを使用する大規模なデータ パイプライン
クライアントサイドの指標は、リクエストのライフサイクルでレイテンシの発生個所を特定する際に役立つ分析情報を提供します。
想定される動作
正常な、想定されている動作は、次のとおりです。
1 分間のスタートアップ時間:クライアント側の指標を有効にした後、アプリケーションを 1 分以上実行すると、公開された指標を確認できるようになります。
サーバー レイテンシとクライアント試行レイテンシのわずかな違い: クライアント側指標を有効にすると、
bigtable.googleapis.com/server/latencies
とbigtable.googleapis.com/client/attempt_latencies
の指標に、これまで気づかなかった 1 桁の違いがあることがわかります。たとえば、アプリケーションが同じリージョンで Compute Engine VM と Bigtable を使用している場合、クライアント試行レイテンシとサーバー レイテンシが異なる場合は、ネットワーク レイテンシが発生しています。秒間クエリ数(QPS)が 350 で、ペイロード サイズが 5 KB の場合、ネットワーク レイテンシは、約 4 ミリ秒です。このレイテンシは予期されたものです。
費用
Cloud Monitoring でクライアントサイド指標を表示するのに料金はかかりません。Cloud Monitoring API を使用する場合は、使用料が発生する場合があります。詳細については、Google Cloud Observability の料金をご覧ください。
制限事項
クライアントサイド指標は、Dataflow または Apache Beam クライアント ライブラリを Java 用 Bigtable HBase クライアントと統合するアプリケーションではサポートされていません。