リソース管理の主要な監視指標
TiUP を使用して TiDB クラスターをデプロイすると、監視システム (Prometheus および Grafana) も同時にデプロイされます。詳細については、 監視フレームワークの概要参照してください。
Grafana ダッシュボードは、Overview、PD、TiDB、TiKV、Node_exporter、Disk Performance、Performance_overview を含む一連のサブダッシュボードに分かれています。
クラスターでリソース管理機能を使用している場合は、リソース制御ダッシュボードからリソース消費ステータスの概要を取得できます。
TiDB はフロー制御にトークンバケットアルゴリズム使用します。 RFC: TiDB におけるグローバル リソース制御で説明したように、TiDB ノードには複数のリソース グループが存在する可能性があり、これらは PD 側の GAC (Global Admission Control) によってフロー制御されます。各 TiDB ノードのローカル トークン バケットは、PD 側の GAC と定期的に (デフォルトでは 5 秒) 通信して、ローカル トークンを再構成します。TiDB では、ローカル トークン バケットはリソース コントローラー クライアントとして実装されます。
このドキュメントでは、リソース コントロール ダッシュボードに表示されるいくつかの主要な監視メトリックについて説明します。
リクエストユニットに関するメトリクス
- RU: リアルタイムで計算される各リソース グループのリクエストユニット (RU)の消費情報
total
は、すべてのリソース グループによって消費される要求単位の合計です。各リソース グループの要求単位消費は、読み取り消費 (読み取り要求単位) と書き込み消費 (書き込み要求単位) の合計と等しくなります。 - RU Per Query: 1 秒あたりに各 SQL ステートメントで消費されるリクエスト ユニットの平均数。これは、上記の RU メトリックを 1 秒あたりに実行される SQL ステートメントの数で割ることによって得られます。
- RRU: リアルタイムで計算される各リソース グループの読み取り要求単位消費情報
total
は、すべてのリソース グループによって消費される読み取り要求単位の合計です。 - クエリあたりの RRU: 1 秒あたりに各 SQL ステートメントで消費される読み取り要求ユニットの平均数。これは、上記の RRU メトリックを 1 秒あたりに実行される SQL ステートメントの数で割ることによって得られます。
- WRU: リアルタイムで計算される各リソース グループの書き込み要求単位消費情報
total
は、すべてのリソース グループによって消費される書き込み要求単位の合計です。 - クエリあたりの WRU: 1 秒あたりに各 SQL ステートメントで消費される書き込み要求ユニットの平均数。これは、上記の WRU メトリックを 1 秒あたりに実行される SQL ステートメントの数で割ることによって得られます。
- 使用可能な RU: 各リソース グループの RU トークン バケット内の使用可能なトークン。
0
の場合、このリソース グループはRU_PER_SEC
のレートでトークンを消費し、レート制限状態にあると見なすことができます。 - クエリ最大期間: リソース グループに関する最大クエリ期間。
リソースに関する指標
- KV 要求数: 各リソース グループの KV 要求の数 (1 秒あたりに計算)。要求は読み取りタイプと書き込みタイプに分けられます。1
total
、すべてのリソース グループの KV 要求の合計です。 - クエリごとの KV 要求数: 1 秒あたりに各 SQL ステートメントによって実行される読み取りおよび書き込み KV 要求の平均数。これは、上記の KV 要求数メトリックを 1 秒あたりに実行される SQL ステートメントの数で割ることによって得られます。
- 読み取りバイト数: 各リソース グループによって読み取られたデータの量 (1 秒あたりに計算)。1
total
、すべてのリソース グループによって読み取られたデータの合計です。 - クエリごとの読み取りバイト数: 各 SQL ステートメントによって 1 秒あたりに読み取られるデータの平均量。これは、上記の読み取りバイト数メトリックを 1 秒あたりに実行される SQL ステートメントの数で割ることによって得られます。
- 書き込まれたバイト数: 各リソース グループによって書き込まれたデータの量 (リアルタイムで計算)。1
total
、すべてのリソース グループによって書き込まれたデータの合計です。 - クエリあたりの書き込みバイト数: 各 SQL ステートメントによって 1 秒あたりに書き込まれるデータの平均量。これは、上記の書き込みバイト数メトリックを 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): 各リソース コントローラー クライアントのサーバー側からのトークン要求の待機時間 (異なるパーセンタイル)。リアルタイムでリソース グループごとに計算されます。
- トークン要求数: 各リソース コントローラー クライアントに対するサーバー側からのトークン要求の数。リアルタイムでリソース グループごとに計算されます。1 と
failed
successful
のリソース コントローラー クライアントの成功したトークン要求と失敗したトークン要求の合計です。