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