クライアントサイドの指標について

Memorystore for Redis は、クライアント アプリケーションのスループット、CPU 使用率、メモリ使用量をモニタリングするためのリアルタイムのサーバーサイド指標を提供します。ただし、複雑な分散システムでは、サーバーサイドのデータだけでは、アプリケーションでレイテンシが高くなる理由を説明できない場合があります。

クライアントサイドの指標は、アプリケーションがコマンドを開始してからアプリケーションがレスポンスを処理するまでの時間を測定することで、リクエストとレスポンスの完全なサイクルを可視化します。これらのデータポイントをキャプチャすることで、レイテンシがアプリケーション ロジック、ネットワーク パス、Redis サーバーのいずれに起因するかを正確に判断できます。

クライアントサイドの指標の仕組み

クライアントサイドの指標は、アプリケーションの Redis クライアント ライブラリ内で直接実行される OpenTelemetry 計測によってキャプチャされます。

OpenTelemetry の詳細については、OpenTelemetry のウェブサイトをご覧ください。また、OpenTelemetry と互換性のある Redis クライアント ライブラリの詳細については、クライアントサイド指標を有効にするをご覧ください。

クライアント アプリケーションがコマンドを実行すると、OpenTelemetry 計測はリクエスト / レスポンス サイクル内の次のデータポイントでタイムスタンプを記録します。

  • プールのチェックアウト: アプリケーションがクライアントの接続プールで使用可能な接続を待機する時間(redis_client_blocking_latency)。

  • ラウンド トリップ時間(RTT): コマンド(redis_client_rtt)のネットワーク転送時間とサーバー実行時間。

  • アプリケーション処理: データが到着してからアプリケーションがデータを解析または逆シリアル化するのにかかる時間(redis_application_blocking_latency)。

また、次の指標もトラッキングします。

  • 再試行: クライアントの指数バックオフ ループがトリガーするコマンドの再試行回数(redis_retry_count)。

  • 接続エラー: 接続の失敗とタイムアウトの数(redis_connectivity_error_count)。

料金

Cloud Monitoring でのカスタム クライアントサイド指標と Cloud Trace での分散トレースの使用には、次の料金基準が適用されます。

  • 指標: Monitoring API を使用してクライアントサイドの指標を Monitoring にエクスポートする場合、Monitoring が取り込むバイト数に基づいてボリュームベースの料金が適用されます。
  • トレース: Trace API を使用して分散トレースを Trace にエクスポートする場合、Trace が取り込むトレーススパンの数に基づいて料金が発生します。

Metrics Explorer でクライアントサイド指標を表示したり、Trace Explorer で分散トレースを表示したりするのに料金はかかりません。

料金の詳細と例については、Google Cloud オブザーバビリティの料金をご覧ください。

次のステップ