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