リソース制御の主要な監視指標

TiUPを使用して TiDB クラスターをデプロイする場合、監視システム (Prometheus および Grafana) も同時にデプロイされます。詳細については、 監視フレームワークの概要を参照してください。

Grafana ダッシュボードは、概要、PD、TiDB、TiKV、Node_exporter、Disk Performance、および Performance_overview を含む一連のサブ ダッシュボードに分割されています。

クラスターでリソース制御機能が使用されている場合は、リソース制御ダッシュボードからリソース消費ステータスの概要を取得できます。

TiDB はフロー制御にトークンバケットアルゴリズムを使用します。 RFC: TiDB におけるグローバル リソース制御で説明したように、TiDB ノードには複数のリソース グループがある場合があり、これらのリソース グループは PD 側の GAC (グローバル アドミッション コントロール) によってフロー制御されます。各 TiDB ノードのローカル トークン バケットは、PD 側の GAC と定期的に (デフォルトでは 5 秒) 通信して、ローカル トークンを再構成します。 TiDB では、ローカル トークン バケットはリソース コントローラー クライアントとして実装されます。

このドキュメントでは、リソース制御ダッシュボードに表示されるいくつかの主要な監視メトリックについて説明します。

リクエストユニットに関するメトリクス

  • RU: リアルタイムで計算された、各リソース グループのリクエストユニット (RU)情報。 totalは、すべてのリソース グループによって消費されるリクエスト ユニットの合計です。各リソース グループのリクエスト ユニット消費量は、その読み取り消費量 (読み取りリクエスト ユニット) と書き込み消費量 (書き込みリクエスト ユニット) の合計と等しくなければなりません。
  • クエリあたりの RU: 1 秒あたりに各 SQL ステートメントによって消費されるリクエスト ユニットの平均数。これは、上記の RU メトリックを 1 秒あたりに実行される SQL ステートメントの数で割ることによって取得されます。
  • RRU: リアルタイムで計算された、各リソース グループの読み取りリクエスト ユニット消費情報。 totalは、すべてのリソース グループによって消費される読み取りリクエスト ユニットの合計です。
  • クエリごとの RRU: 各 SQL ステートメントによって消費される 1 秒あたりの読み取りリクエスト ユニットの平均数。これは、上記の RRU メトリックを 1 秒あたりに実行される SQL ステートメントの数で割ることによって取得されます。
  • WRU: リアルタイムで計算された、各リソース グループの書き込み要求ユニット消費情報。 totalは、すべてのリソース グループによって消費される書き込みリクエスト ユニットの合計です。
  • クエリごとの WRU: 1 秒あたりに各 SQL ステートメントによって消費される書き込みリクエスト ユニットの平均数。これは、上記の WRU メトリックを 1 秒あたりに実行される SQL ステートメントの数で割ることによって取得されます。
  • 使用可能な RU: 各リソース グループの RU トークン バケット内の使用可能なトークン。 0の場合、このリソース グループはRU_PER_SECレートでトークンを消費し、レート制限状態にあるとみなすことができます。
  • クエリ最大期間: リソース グループに関する最大クエリ期間。

リソースに関するメトリクス

  • KV リクエスト数: 1 秒あたりに計算された、各リソース グループの KV リクエストの数。リクエストは読み取りタイプと書き込みタイプに分けられます。 totalは、すべてのリソース グループの KV リクエストの合計です。
  • クエリごとの KV リクエスト数: 各 SQL ステートメントによる 1 秒あたりの読み取りおよび書き込み KV リクエストの平均数。これは、上記の KV リクエスト数メトリックを 1 秒あたりに実行される SQL ステートメントの数で割ることによって取得されます。
  • 読み取りバイト数: 1 秒あたりに計算された、各リソース グループによって読み取られたデータの量。 totalは、すべてのリソース グループによって読み取られたデータの合計です。
  • クエリごとに読み取られたバイト数: 1 秒あたりに各 SQL ステートメントによって読み取られたデータの平均量。これは、上記の読み取りバイト数メトリクスを 1 秒あたりに実行される SQL ステートメントの数で割ることによって取得されます。
  • 書き込まれたバイト数: リアルタイムで計算された、各リソース グループによって書き込まれたデータの量。 totalは、すべてのリソース グループによって書き込まれたデータの合計です。
  • クエリごとに書き込まれたバイト数: 各 SQL ステートメントによって 1 秒あたりに書き込まれるデータの平均量。これは、上記の Bytes Written メトリックを 1 秒あたりに実行される SQL ステートメントの数で割ることによって取得されます。
  • KV CPU 時間: リアルタイムで計算された、各リソース グループによって消費される KVレイヤーCPU 時間。 totalは、すべてのリソース グループによって消費される KVレイヤーCPU 時間の合計です。
  • SQL CPU 時間: リアルタイムで計算された、各リソース グループによって消費される SQLレイヤーのCPU 時間。 totalは、すべてのリソース グループによって消費された SQLレイヤーの CPU 時間の合計です。

リソースコントローラークライアントに関するメトリック

  • アクティブなリソース グループ: リアルタイムで計算された、各リソース コントローラー クライアントのリソース グループの数。
  • 合計 KV リクエスト数: リソース グループごとにリアルタイムで計算された、各リソース コントローラー クライアントの KV リクエストの数。 totalは、すべてのリソース コントローラー クライアントの KV リクエストの合計です。
  • 失敗した KV リクエスト数: 各リソース コントローラー クライアントの失敗した KV リクエストの数。リソース グループごとにリアルタイムで計算されます。 totalは、すべてのリソース コントローラー クライアントの失敗した KV リクエストの合計です。
  • 成功した KV リクエスト数: リソース グループごとにリアルタイムで計算された、各リソース コントローラー クライアントの成功した KV リクエストの数。 totalは、すべてのリソース コントローラー クライアントの成功した KV リクエストの合計です。
  • 成功した KV リクエストの待機時間 (99/90): 各リソース コントローラー クライアントの成功した KV リクエストの待機時間 (さまざまなパーセンタイルで)。リソース グループごとにリアルタイムで計算されます。
  • トークン リクエスト ハンドル期間 (999/99): 各リソース コントローラー クライアントのサーバー側からのトークン リクエストの待機時間 (さまざまなパーセンタイルで)。リソース グループごとにリアルタイムで計算されます。
  • トークン リクエスト数: 各リソース コントローラー クライアントのサーバー側からのトークン リクエストの数。リソース グループごとにリアルタイムで計算されます。 successfulfailedは、すべてのリソース コントローラー クライアントの成功したトークン リクエストと失敗したトークン リクエストの合計です。

このページは役に立ちましたか?