メインコンテンツまでスキップ
に最終更新

Arthas を使用した FE のパフォーマンス分析

はじめに​

Apache Doris 3.1.0 以降では、FE のデプロイディレクトリ ${DORIS_FE_HOME}/arthas に Arthas ツール(バージョン 4.0.5)が同梱されています。Arthas を使用すると、オンラインでフレームグラフを生成し、関数の呼び出し経路をトレースし、関数の実行時間を測定し、関数の入力値と戻り値を観察できます。これにより、FE の実行時の問題を特定しやすくなります。

コマンドの詳しい説明は、Arthas の公式ドキュメントを参照してください。

対応環境​

システム対応状況
Linux対応
macOS対応
Windows現時点では未対応

古い FE バージョンへの手動インストール​

Doris 3.1.0 より前のバージョンでは、Arthas を手動でダウンロードします。

wget https://github.com/alibaba/arthas/releases/download/arthas-all-4.0.5/arthas-bin.zip
unzip arthas-bin.zip -o ${DORIS_FE_HOME}/arthas

フレームグラフの生成​

  1. ${DORIS_FE_HOME}/arthas/as.sh スクリプトを実行し、プロセス一覧から DorisFE プロセスの番号を選択します。

    bash ./as.sh
    Arthas script version: 4.0.5
    Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
    * [1]: 75123 com.intellij.idea.Main
    [2]: 77285 org.apache.doris.DorisFE
    [3]: 76901 DorisBE
    [4]: 6776 org.jetbrains.jps.cmdline.Launcher
    [5]: 76265 DorisBE
    [6]: 80527 org.jetbrains.jps.cmdline.Launcher
    2
  2. Arthas のコマンドラインでプロファイリングを開始します。

    [arthas@77285]$ profiler start
    Profiling started
  3. プロファイリングを停止し、HTML 形式のフレームグラフを生成します。

    [arthas@77285]$ profiler stop --format html
    OK
    profiler output file: <DORIS_FE_HOME>/arthas-output/20250627-115104.html

    出力ファイルは ${DORIS_FE_HOME}/arthas-output/ に保存されます。ブラウザで開き、処理時間の長い関数を分析します。

よく使う Arthas コマンド​

コマンド用途
profiler start / profiler stop --format htmlCPU フレームグラフを収集する
trace <class> <method>関数の呼び出し経路と実行時間をトレースする
watch <class> <method>関数の入力値と戻り値を観察する
threadJVM スレッドの状態を確認する
dashboardJVM 全体の実行時メトリクスをリアルタイムで確認する

よくある質問​

Q: DorisFE プロセスが as.sh を実行しても見つかりません。

FE プロセスが起動していることと、as.sh を FE と同じマシンで実行していることを確認してください。プロセス一覧には、現在のユーザーから参照できる JVM が表示されます。

Q: 生成されたフレームグラフが空であるか、サンプル数が少なすぎます。

プロファイリング中に、FE に継続的なクエリまたはリクエストの負荷がかかっていることを確認してください。profiler start から profiler stop までの時間を延ばすこともできます。