TiDB ダッシュボード インスタンスのプロファイリング - 継続的なプロファイリング

ノート:

この機能は、データベースの専門家向けに設計されています。専門家以外のユーザーには、PingCAP テクニカル サポートの指導の下でこの機能を使用することをお勧めします。

継続的なプロファイリングにより、各 TiDB、TiKV、および PD インスタンスから継続的にパフォーマンス データを収集できます。収集されたパフォーマンス データは、FlameGraph または DAG として視覚化できます。

これらのパフォーマンス データを使用して、専門家はインスタンスの CPU やメモリなどのリソース消費の詳細を分析し、高い CPU オーバーヘッド、高いメモリ使用量、プロセス ストールなどの高度なパフォーマンスの問題をいつでも特定できます。再現できない問題でも、専門家はその時点で収集された過去のパフォーマンス データを参照することで、問題を深く掘り下げることができます。このようにして、MTTRを効果的に削減できます。

手動プロファイリングとの比較

連続プロファイリングは手動プロファイリングの拡張機能です。どちらも、インスタンスごとにさまざまな種類のパフォーマンス データを収集および分析するために使用できます。それらの違いは次のとおりです。

  • 手動プロファイリングは、プロファイリングを開始した時点で短時間 (たとえば 30 秒) のパフォーマンス データのみを収集しますが、継続的プロファイリングは、有効にすると継続的にデータを収集します。
  • 手動プロファイリングは、現在発生している問題の分析にのみ使用できますが、継続的プロファイリングは、現在および過去の問題の両方の分析に使用できます。
  • 手動プロファイリングでは、特定のインスタンスの特定のパフォーマンス データを収集できますが、継続的プロファイリングでは、すべてのインスタンスのすべてのパフォーマンス データを収集できます。
  • 継続的プロファイリングはより多くのパフォーマンス データを保存するため、より多くのディスク領域を占有します。

対応実績データ

手動プロファイリングのすべてのパフォーマンス データが収集されます。

  • CPU: TiDB、TiKV、TiFlash、および PD インスタンスの各内部関数の CPU オーバーヘッド

  • ヒープ: TiDB および PD インスタンスの各内部関数のメモリ消費量

  • Mutex: TiDB および PD インスタンスでのミューテックスの競合状態

  • Goroutine: TiDB および PD インスタンス上のすべての goroutine の実行状態とコール スタック

ページにアクセスする

次のいずれかの方法を使用して、Continuous Profiling ページにアクセスできます。

  • TiDB ダッシュボードにログインした後、左側のナビゲーション バーで [ Advanced Debugging ] > [ Profiling Instances ] > [ Continuous Profiling ] をクリックします。

    Access page

  • ブラウザでhttp://127.0.0.1:2379/dashboard/#/continuous_profilingにアクセスします。 127.0.0.1:2379を実際の PD インスタンスのアドレスとポートに置き換えます。

継続的なプロファイリングを有効にする

ノート:

継続的プロファイリングを使用するには、TiUP (v1.9.0 以降) またはTiDB Operator (v1.3.0 以降) の最新バージョンを使用してクラスターをデプロイまたはアップグレードする必要があります。以前のバージョンの TiUP またはTiDB Operatorを使用してクラスターをアップグレードした場合は、手順についてFAQを参照してください。

TiDB v6.1.0 以降、継続的なプロファイリングはデフォルトで有効になっています。これを有効にすると、Web ページを常にアクティブにしなくても、バックグラウンドで継続的にパフォーマンス データを収集できます。収集したデータは一定期間保持でき、期限切れのデータは自動的に消去されます。

この機能を有効にするには:

  1. 継続的なプロファイリング ページをご覧ください。
  2. [**設定を開く]**をクリックします。右側の[設定]領域で、[機能を有効にする] をオンにし、必要に応じて [保持期間] のデフォルト値を変更します。
  3. [**保存]**をクリックします。

Enable feature

現在のパフォーマンス データをビューする

手動プロファイリングは、継続的プロファイリングが有効になっているクラスターでは開始できません。現時点でのパフォーマンス データを表示するには、最新のプロファイリング結果をクリックします。

過去のパフォーマンス データをビューする

リスト ページでは、この機能を有効にしてから収集されたすべてのパフォーマンス データを確認できます。

History results

性能データのダウンロード

プロファイリング結果ページで、右上隅にある [プロファイリング結果のダウンロード] をクリックして、すべてのプロファイリング結果をダウンロードできます。

Download profiling result

テーブル内の個々のインスタンスをクリックして、そのプロファイリング結果を表示することもできます。または、... にカーソルを合わせて生データをダウンロードすることもできます。

View profiling result

継続的なプロファイリングを無効にする

  1. 継続的なプロファイリング ページをご覧ください。
  2. 右上隅の歯車アイコンをクリックして、設定ページを開きます。機能の有効化をオフに切り替えます。
  3. [**保存]**をクリックします。
  4. 表示されたダイアログ ボックスで、[無効にする] をクリックします。

Disable feature

よくある質問

1. 継続的なプロファイリングを有効にできず、UI に「必要なコンポーネント NgMonitoring が開始されていません」と表示されます

TiDB ダッシュボードFAQを参照してください。

2. 継続的プロファイリングを有効にした後、パフォーマンスは影響を受けますか?

ベンチマークによると、この機能が有効になっている場合の平均パフォーマンスへの影響は 1% 未満です。

3. この機能のステータスは?

これは現在、一般提供 (GA) 機能であり、実稼働環境で使用できます。