使用「效能」面板剖析 Node.js 效能

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

使用「Performance」面板來剖析 Node.jsDeno 應用程式的效能。

什麼是 CPU 設定檔?

CPU 設定檔報表會顯示一段時間內的 CPU 使用情形。可顯示哪些程式使用最多的 CPU 作業時間、執行了哪些程序,以及每個狀態花費的時間。透過 CPU 設定檔,您可以找出效能瓶頸,並最佳化 CPU 資源使用率。

開啟節點適用的開發人員工具

  1. 在指令列中執行:

    Node.js

    node --inspect file-name.js
    

    德諾

    deno --inspect file-name.js
    
  2. 請透過下列其中一種方式連線至 Node 適用的開發人員工具:

    • 開啟開發人員工具,然後按一下頂端開發人員工具動作列中的綠色節點按鈕。
    • 在網址列中輸入 chrome://inspect,然後點選下列其中一個選項:

      • 在「裝置」下方開啟節點專用的專屬開發人員工具
      • 在要剖析的目標下方檢查

    適用於節點版 DevTools 的所有方法。

剖析 CPU

如要剖析 CPU,請開啟「Performance」面板,然後按一下 radio_button_checked「Record」按鈕兩次,即可開始及結束剖析作業。

「Record」按鈕和 VM 執行個體選取器。

分析剖析結果

停止錄製後,「效能」面板會在「設定檔」中彙整並顯示錄製相關資料。請使用下列分頁分析剖析資料:

  • 時間軸總覽。位於活動列頂端的活動列下方。在時間軸上顯示 CPU 和 NET 活動圖表。可用於找出效能瓶頸。

    時間軸總覽。

  • 由下而上:你可以使用這個分頁檢查特定錄製部分,以及查看個別活動的匯總時間。

    「由下而上」分頁。

  • 「Call Tree」:這個分頁會顯示特定錄音片段的根活動。根活動也有巢狀呼叫堆疊。這個分頁可協助您找出哪些活動造成最多工作。

    「Call Tree」分頁。

  • 事件記錄:這個分頁會按照錄製部分的活動發生順序列出活動。

    「事件記錄」分頁。

使用 console.profile() 指令剖析設定檔

開發人員工具可讓您透過 console.profile() 指令剖析 JavaScript CPU 效能。您可以將這個指令新增至程式碼,然後執行檔案,或是複製程式碼並貼到主控台。「成效」面板會顯示結果。

如要使用這個指令,請按照下列步驟操作:

  1. 使用 console.profile()console.profileEnd() 括住程式碼,例如:

    console.profile( profile ${i} );
    // Code to be profiled
    doSomething();
    console.profileEnd();
    
  2. 使用以下其中一種方式執行程式碼:

設定檔完成後,結果會自動顯示在「Performance」(成效) 面板中。