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 ] をクリックします。
ブラウザで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. 継続的なプロファイリングを有効にできず、UI に「必要なコンポーネント NgMonitoring が開始されていません」と表示されます。
TiDB ダッシュボードFAQを参照してください。
2. 継続的プロファイリングを有効にした後、パフォーマンスは影響を受けますか?
ベンチマークによると、この機能が有効になっている場合の平均パフォーマンスへの影響は 1% 未満です。
3. この機能のステータスは?
これは現在、一般提供 (GA) 機能であり、実稼働環境で使用できます。