重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

パフォーマンスの概要に関する主要な指標

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

Grafanaダッシュボードは、PD、TiDB、TiKV、Node_exporter、Overview、PerformanceOverviewなどを含む一連のサブダッシュボードに分割されています。診断に役立つ多くのメトリックがあります。

パフォーマンスの概要ダッシュボードは、TiDB、PD、およびTiKVのメトリックを調整し、次のセクションでそれぞれを示します。

  • 概要:データベース時間とSQL実行時間の要約。概要のさまざまな色を確認することで、データベースのワークロードプロファイルとパフォーマンスのボトルネックをすばやく特定できます。

  • 負荷プロファイル:データベースQPS、接続情報、アプリケーションがTiDBと対話するMySQLコマンドタイプ、データベース内部TSOおよびKV要求OPS、TiKVおよびTiDBのリソース使用量などの主要なメトリックとリソース使用量。

  • トップダウンレイテンシーの内訳:クエリレイテンシーと接続アイドル時間の比率、クエリレイテンシーの内訳、実行中のTSO / KVリクエストのレイテンシー、TiKV内の書き込みレイテンシーの内訳。

パフォーマンス概要ダッシュボードを使用すると、パフォーマンスを効率的に分析し、ユーザーの応答時間のボトルネックがデータベースにあるかどうかを確認できます。ボトルネックがデータベースにある場合は、データベース時間の概要、ワークロードプロファイル、およびSQLレイテンシの内訳を使用して、データベース内のボトルネックを特定できます。詳細については、 パフォーマンス分析とチューニングを参照してください。

次のセクションでは、パフォーマンスの概要ダッシュボードの指標について説明します。

SQLタイプ別のデータベース時間

  • データベース時間:1秒あたりの合計データベース時間
  • sql_type:1秒あたりのSQLステートメントの各タイプによって消費されるデータベース時間

SQLフェーズごとのデータベース時間

  • データベース時間:1秒あたりの合計データベース時間
  • get token / parse / compile / execute:4つのSQL処理フェーズで消費されるデータベース時間

一般的に、SQL実行フェーズは緑色で、その他のフェーズは赤色で表示されます。緑以外の領域が大きい場合は、実行フェーズ以外のフェーズで多くのデータベース時間が消費され、さらに原因分析が必要になることを意味します。

SQL実行時間の概要

  • 実行時間:1秒あたりのSQL実行中に消費されたデータベース時間
  • tso_wait:SQL実行中の1秒あたりの同時TSO待機時間
  • kv要求タイプ:SQL実行中の1秒あたりの各KV要求タイプの待機時間。 KV要求は同時であるため、KV要求の合計待機時間はSQL実行時間を超える可能性があります。

緑のメトリックは一般的なKV書き込み要求(プリライトやコミットなど)を表し、青のメトリックは一般的な読み取り要求を表し、他の色のメトリックは注意が必要な予期しない状況を表します。たとえば、ペシミスティックロックKV要求は赤でマークされ、TSO待機はダークブラウンでマークされます。

青以外または緑以外の領域が大きい場合は、SQLの実行中にボトルネックがあることを意味します。例えば:

  • 深刻なロックの競合が発生した場合、赤い領域が大きな割合を占めます。
  • TSOの待機に過度の時間がかかると、暗褐色の領域が大きな割合を占めます。

QPS

タイプごとに収集された、すべてのINSERTインスタンスで1秒あたりに実行されたSQLステートメントの数UPDATE SELECTなど

タイプ別のCPS

タイプに基づいて、1秒あたりにすべてのTiDBインスタンスによって処理されたコマンドの数

プランキャッシュOPSを使用したクエリ

すべてのTiDBインスタンスで1秒あたりのプランキャッシュを使用するクエリの数

KV/TSOリクエストOPS

  • kvリクエストの合計:すべてのTiDBインスタンスにおける1秒あたりのKVリクエストの総数
  • タイプ別のkvリクエスト: Getなどのタイプに基づくすべてのPrewriteインスタンスでのCommit秒あたりのKVリクエストの数。
  • tso-cmd:すべてのTiDBインスタンスで1秒あたりtso cmdリクエストの数
  • tso-リクエスト:すべてのTiDBインスタンスで1秒あたりtso requestリクエストの数

一般に、 tso - cmdtso - requestで割ると、1秒あたりのリクエストの平均バッチサイズが得られます。

接続数

  • 合計:すべてのTiDBインスタンスへの接続数
  • アクティブな接続:すべてのTiDBインスタンスへのアクティブな接続の数
  • 各TiDBインスタンスへの接続数

TiDB CPU

  • avg:すべてのTiDBインスタンスの平均CPU使用率
  • デルタ:すべてのTiDBインスタンスの最大CPU使用率からすべてのTiDBインスタンスの最小CPU使用率を引いたもの
  • max:すべてのTiDBインスタンスでの最大CPU使用率

TiKV CPU / IO MBps

  • CPU-Avg:すべてのTiKVインスタンスの平均CPU使用率
  • CPU-Delta:すべてのTiKVインスタンスの最大CPU使用率からすべてのTiKVインスタンスの最小CPU使用率を引いたもの
  • CPU-MAX:すべてのTiKVインスタンス間の最大CPU使用率
  • IO-Avg:すべてのTiKVインスタンスの平均MBps
  • IO-Delt:すべてのTiKVインスタンスの最大MBpsからすべてのTiKVインスタンスの最小MBpsを引いたもの
  • IO-MAX:すべてのTiKVインスタンスの最大MBps

間隔

  • 期間:実行時間

    • クライアントからTiDBへのリクエストを受信してから、TiDBがリクエストを実行して結果をクライアントに返すまでの期間。一般に、クライアント要求はSQLステートメントの形式で送信されます。ただし、この期間には、 COM_PINGなどのCOM_STMT_FETCHの実行時間をCOM_SEND_LONG_DATAことができCOM_SLEEP
    • TiDBはマルチクエリをサポートしています。つまり、クライアントはselect 1; select 1; select 1;などの複数のSQLステートメントを一度に送信できます。この場合、このクエリの合計実行時間には、すべてのSQLステートメントの実行時間が含まれます。
  • avg:すべてのリクエストを実行する平均時間

  • 99:すべてのリクエストを実行するためのP99期間

  • タイプ別の平均:タイプ別に収集された、すべてのTiDBインスタンスですべてのリクエストを実行する平均時間UPDATE SELECT 、およびINSERT

接続アイドル期間

接続アイドル期間は、接続がアイドル状態の期間を示します。

  • avg-in-txn:接続がトランザクション内にある場合の平均接続アイドル期間
  • avg-not-in-txn:接続がトランザクション内にない場合の平均接続アイドル期間
  • 99-in-txn:接続がトランザクション内にある場合のP99接続のアイドル期間
  • 99-not-in-txn:接続がトランザクション内にない場合のP99接続のアイドル期間

解析期間、コンパイル期間、および実行期間

  • 解析時間:SQLステートメントの解析に費やされた時間
  • コンパイル時間:解析されたSQLASTを実行プランにコンパイルするのにかかる時間
  • 実行時間:SQLステートメントの実行プランの実行に費やされた時間

これら3つのメトリックにはすべて、すべてのTiDBインスタンスの平均期間と99パーセンタイル期間が含まれます。

平均TiDBKVリクエスト期間

Getを含むタイプに基づいて、すべてのPrewriteインスタンスでKVリクエストを実行するのにCommitれた平均時間。

平均TiKVGRPC期間

kv_getを含むタイプに基づいて、すべてのkv_prewriteインスタンスでkv_commitリクエストを実行するのに費やされた平均時間。

PDTSO待機/RPC期間

  • wait-avg:すべてのTiDBインスタンスでPDがTSOを返すのを待機する平均時間
  • rpc --avg:すべてのTiDBインスタンスでTSO要求をPDに送信してからTSOを受信するまでの平均時間
  • 待機-99:すべてのTiDBインスタンスでPDがTSOを返すのを待機するP99時間
  • rpc-99:すべてのTiDBインスタンスでTSO要求をPDに送信してからTSOを受信するまでのP99時間

ストレージ非同期書き込み期間、ストア期間、および適用期間

  • ストレージ非同期書き込み期間:非同期書き込みに費やされた時間
  • ストア期間:非同期書き込み中にストアループで消費された時間
  • 適用期間:非同期書き込み中に適用ループで消費された時間

これら3つのメトリックにはすべて、すべてのTiKVインスタンスの平均期間とP99期間が含まれます。

平均ストレージ非同期書き込み期間=平均ストア期間+平均適用期間

ログ期間の追加、ログ期間のコミット、およびログ期間の適用

  • ログの追加期間: Raftがログを追加するために費やした時間
  • コミットログ期間: Raftがログをコミットするために費やした時間
  • ログの適用期間: Raftがログを適用するのに費やした時間

これら3つのメトリックにはすべて、すべてのTiKVインスタンスの平均期間とP99期間が含まれます。

パフォーマンス概要ダッシュボードのインターフェース

performance overview