クライアントサイドの指標の概要

Bigtable では、クライアントサイドの指標をサーバーサイドの指標と組み合わせて使用することで、パフォーマンスを最適化できます。また、パフォーマンスの問題が発生した場合にトラブルシューティングを行うことができます。

このページでは、Bigtable のクライアントサイド指標の概要と、それらを使用するタイミングについて説明します。設定と構成手順については、クライアントサイドの指標を設定するをご覧ください。指標の詳細なリストについては、クライアントサイドの指標の説明をご覧ください。

クライアントサイドの指標は、アプリケーションからリクエストが送信されてからアプリケーションがレスポンスを受信するまでの時間で測定されます。一方、Bigtable モニタリングなどで取得できるサーバーサイドの指標は、Bigtable がリクエストを受け取ってからデータの最後のバイトがクライアントに送信されるまでの時間で測定されます。

クライアントサイドの指標は、次のクライアント ライブラリのユーザーが利用できます。

これらの指標は、Google Cloud コンソールの [Cloud Monitoring] セクションの [Metrics Explorer] で確認できます。また、Cloud Monitoring API を使用してアクセスすることもできます。

アップグレードのタイミング

Bigtable のクライアントサイド指標を使用するように、OpenCensus Stats と現在統合されているすべてのアプリケーションを更新することをおすすめします。OpenCensus との統合で Bigtable のクライアントサイド指標は改善されます。OpenCensus Stats とは異なり、指標を公開するための追加コストは発生しません。

クライアントサイドの指標を使用するタイミング

Bigtable のパフォーマンスを完全かつ実用的なビューで把握するには、クライアントサイドの指標とサーバーサイドのモニタリング指標を常に組み合わせて使用することをおすすめします。クライアントサイドとサーバーサイドの両方からの指標を表示すると、パフォーマンスの最適化や問題のトラブルシューティングを行う際に役立ちます。さらに、問題が発生しているリクエスト ライフサイクルのセグメントを特定する際にも特に役立ちます。

両方のタイプの指標の併用は、次のタイプのワークロードで特に役立ちます。

  • ユーザー向けアプリケーションと商用アプリケーションのサービス提供パスの読み取り
  • 重要なバックエンド サービス
  • 複数のコンシューマを使用する大規模なデータ パイプライン

クライアントサイドの指標は、リクエストのライフサイクルでレイテンシの発生個所を特定する際に役立つ分析情報を提供します。

クライアントサイドの指標は、リクエストのライフサイクルの特定のセグメントを測定します。

想定される動作

想定されている正常な動作は、次のとおりです。

  • 1 分間のスタートアップ時間: クライアント側の指標を有効にした後、アプリケーションを 1 分以上実行すると、公開された指標を確認できるようになります。

  • サーバー レイテンシとクライアント試行レイテンシのわずかな違い: クライアント側指標を有効にすると、bigtable.googleapis.com/server/latenciesbigtable.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 クライアントと統合するアプリケーションではサポートされていません。

次のステップ