レイテンシの指標

このページでは、Cloud Spanner が提供するレイテンシの指標について説明します。アプリケーションのレイテンシが高い場合は、この指標を使用して診断を行い、問題を解決します。

この指標は、Google Cloud Platform ConsoleStackdriver Monitoring コンソールで確認できます。

レイテンシ指標の概要

Cloud Spanner のレイテンシ指標は、Cloud Spanner サービスがリクエストの処理にかかった時間を測定します。この指標は、Cloud Spanner が使用した CPU 時間でなく、実際の経過時間を収集します。

このレイテンシ指標には Cloud Spanner 以外で発生したレイテンシは含まれません。ネットワークのレイテンシや、アプリケーション レイヤー内のレイテンシは含まれません。このようなレイテンシを測定するには、Stackdriver Monitoring を使用し、アプリケーションにカスタム指標を設定します

レイテンシ指標のグラフは、GCP ConsoleStackdriver Monitoring コンソールで確認できます。読み取りと書き込みの両方を含むレイテンシを表示することも、読み取りと書き込みのレイテンシを個別に表示することもできます。

Cloud Spanner は、リクエストのレイテンシに基づいてリクエストをパーセンタイルにグループ化します。レイテンシ指標は 50 パーセンタイルと 99 パーセンタイルで確認できます。

  • 50 パーセンタイルのレイテンシ: 最も処理時間の短いリクエストの 50% の最大レイテンシ(秒)。たとえば、50 パーセンタイルのレイテンシが 0.5 秒の場合、Cloud Spanner は、50% のリクエストを 0.5 秒未満で処理しています。

    この指標は、中央値のレイテンシともいわれます。

  • 99 パーセンタイルのレイテンシ: 最も処理時間の短いリクエストの 99% の最大レイテンシ(秒)。たとえば、99 パーセンタイルのレイテンシが 2 秒の場合、Cloud Spanner は、99% のリクエストを 2 秒未満で処理しています。

1 秒あたりのレイテンシとオペレーション

インスタンスが一定の期間内に少数のリクエストを処理している場合、50 パーセンタイルや 99 パーセンタイルのレイテンシでは、インスタンス全体のパフォーマンスを表す指標としては意味がありません。このような状況では、非常に少数の外れ値でレイテンシ指標が大幅に変化する可能性があります。

たとえば、インスタンスが 1 時間に 100 リクエストを処理しているとします。この場合、1 時間の 99 パーセンタイルのレイテンシは、最も遅いリクエストの処理時間になります。1 つのリクエストに基づくレイテンシの測定は意味がありません。

レイテンシ問題の診断方法

以降のセクションでは、アプリケーション全体のレイテンシが高くなる一般的な問題の診断方法について説明します。

インスタンスのレイテンシ指標は、GCP Console で簡単に確認できます。指標を詳しく分析し、レイテンシと他の指標の相関関係を調べる場合には、Stackdriver Monitoring コンソールを使用します。

全体のレイテンシが高く、Cloud Spanner のレイテンシが低い場合

アプリケーションのレイテンシが想定より高く、Cloud Spanner のレイテンシ指標が全体のレイテンシをかなり下回っている場合は、アプリケーション コードに問題がある可能性があります。アプリケーションのパフォーマンスが低下し、一部のコードパスの処理速度が遅くなると、各リクエストの全体のレイテンシが増加する可能性があります。

この問題を確認するには、アプリケーションのベンチマークを取り、想定以上に襲いコードパスを特定します。

また、Cloud Spanner と通信を行うコードをコメントにし、全体のレイテンシを再度測定することもできます。全体のレイテンシに大きな変化が見られない場合は、Cloud Spanner が高レイテンシの原因とは考えられません。

全体のレイテンシが高く、Cloud Spanner のレイテンシも高い場合

アプリケーションのレイテンシが想定より高く、Cloud Spanner のレイテンシ指標も高い場合は、いくつかの原因が考えられます。

  • インスタンスがより多くのノード数を必要としている。 インスタンスの CPU リソースが不足し、CPU 使用率が推奨の最大値を超えている場合、Cloud Spanner がリクエストを迅速かつ効率的に処理できなくなります。

  • 一部のクエリが原因で CPU 使用率が高くなっている。 クエリ パラメータセカンダリ インデックスなど、処理効率を改善する Cloud Spanner 機能をクエリで使用できない場合や、非常に多くの結合や CPU 使用率の高いオペレーションがクエリに含まれている場合、インスタンスに割り当てられた CPU リソースの大半をクエリが使用している可能性があります。

この問題を確認するには、Stackdriver Monitoring コンソールを使用して CPU の高使用率と高レイテンシの相関関係を分析します。また、インスタンスのクエリ統計で、同じ期間に CPU 使用率が高いクエリが実行されているかどうか確認します。

同じ期間に CPU 使用率とレイテンシの両方が高い場合は、次の操作を行って問題を解決します。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Spanner のドキュメント