[パフォーマンス] パネルで Node.js のパフォーマンスをプロファイリングする

Nancy Li
Nancy Li
Dale St. Marthe
Dale St. Marthe

[Performance] パネルを使用して、Node.js および Deno アプリケーションのパフォーマンスをプロファイリングします。

CPU プロファイルとは

CPU プロファイルは、一定期間の CPU の使用状況を示すレポートです。最も CPU 時間を使用しているプログラム、実行されていたプロセス、各状態で費やされた時間などを確認できます。CPU プロファイルを使用すると、パフォーマンスのボトルネックを特定し、CPU リソースの使用率を最適化できます。

DevTools for Node を開く

  1. コマンドラインで次のコマンドを実行します。

    Node.js

    node --inspect file-name.js
    

    ディノ

    deno --inspect file-name.js
    
  2. 次のいずれかの方法で Node の DevTools に接続します。

    • DevTools を開き、上部の DevTools アクションバーにある緑色の [Node] ボタンをクリックします。
    • アドレスバーに「chrome://inspect」と入力して、次のいずれかをクリックします。

      • [デバイス] でノード用の専用の DevTools を開きます
      • プロファイリングするターゲットを検査します。

    Node 用の DevTools を開くためのすべての方法。

CPU のプロファイリングを行う

CPU をプロファイリングするには、[Performance] パネルを開き、[radio_button_checked] の [Record] ボタンを 2 回クリックして、プロファイリングを開始および終了します。

[Record] ボタンと VM インスタンス セレクタ。

プロファイリングの結果を分析する

録画を停止すると、[Performance] パネルによって録画に関するデータが「プロファイル」に整理されて表示されます。次のタブを使用して、プロファイリング データを分析します。

  • タイムラインの概要上部のアクティビティ バーの下に表示されます。CPU と NET のアクティビティ グラフをタイムラインに表示します。パフォーマンスのボトルネックの特定に使用します。

    タイムラインの概要。

  • ボトムアップ: このタブでは、録画の選択した部分を調べて、個々のアクティビティに費やした時間の合計を確認できます。

    [ボトムアップ] タブ。

  • Call Tree: このタブには、録音の選択した部分のルート アクティビティが表示されます。ルート アクティビティにはコールスタックもネストされています。このタブを使用して、最も多くの処理が発生しているアクティビティを特定します。

    [Call Tree] タブ。

  • イベントログ: このタブには、録画の選択した部分のアクティビティが発生した順に一覧表示されます。

    [イベントログ] タブ。

console.profile() コマンドを使用したプロファイル

DevTools では、console.profile() コマンドを使用して JavaScript の CPU パフォーマンスをプロファイリングできます。このコマンドをコードに追加してファイルを実行するか、コードをコピーしてコンソールに貼り付けます。[パフォーマンス] パネルに結果が表示されます。

このコマンドを使用する手順は次のとおりです。

  1. コードを console.profile()console.profileEnd() で囲みます。次に例を示します。

    console.profile( profile ${i} );
    // Code to be profiled
    doSomething();
    console.profileEnd();
    
  2. 次のいずれかの方法でコードを実行します。

    • コンソールを使用している場合は、Node 用の DevTools を開き、コードをコンソールに貼り付けて、Enter キーを押します。

    • コマンドラインで次のコマンドを実行します。

      Node.js

      node --inspect file-name.js
      

      ディノ

      deno --inspect file-name.js
      

      次に、Node 用の DevTools を開きます

プロファイルが完了すると、結果が自動的に [掲載結果] パネルに表示されます。