Профилируйте производительность Node.js с помощью панели «Производительность»

Используйте панель «Производительность» для профилирования производительности приложений Node.js и Deno .

Что такое профиль ЦП?

Профиль ЦП — это отчет, показывающий, как использовался ЦП за определенный период времени. Он может показать, какие программы использовали больше всего процессорного времени, какие процессы выполнялись и сколько времени было потрачено в каждом состоянии. С помощью профилей ЦП вы можете выявить узкие места производительности и оптимизировать использование ресурсов ЦП.

Откройте DevTools для Node.

  1. В командной строке выполните:

    Node.js

    node --inspect file-name.js
    

    Дено

    deno --inspect file-name.js
    
  2. Подключитесь к DevTools for Node одним из следующих способов:

    • Откройте DevTools и нажмите зеленую кнопку «Узел» на панели действий DevTools вверху.
    • В адресной строке введите chrome://inspect , затем нажмите один из следующих вариантов:

      • Откройте специальные инструменты разработчика для Node в разделе «Устройства» .
      • Осмотрите цель, которую вы хотите профилировать.

    Все способы открытия DevTools для Node.

Профилируйте процессор

Чтобы профилировать ЦП, откройте панель «Производительность» и дважды нажмите кнопку «Radio_button_checked Record» , чтобы начать и завершить профилирование.

Кнопка «Запись» и переключатель экземпляра виртуальной машины.

Анализ результатов профилирования

После остановки записи панель «Производительность» упорядочивает и отображает данные о записи в «профиле». Используйте следующие вкладки для анализа данных профилирования:

  • Обзор временной шкалы . Расположен вверху под панелью активности. Показывает диаграммы активности ЦП и NET на временной шкале. Используйте его для выявления узких мест в производительности.

    Обзор временной шкалы.

  • Снизу вверх : используйте эту вкладку, чтобы просмотреть выбранную часть записи и просмотреть общее время, затраченное на отдельные действия.

    Вкладка «Снизу вверх».

  • Дерево вызовов : на этой вкладке отображаются основные действия выбранной части записи . Корневые действия также имеют вложенные стеки вызовов. Используйте эту вкладку, чтобы определить, какое действие требует больше всего работы.

    Вкладка «Дерево вызовов».

  • Журнал событий : на этой вкладке перечислены действия из выбранной части записи в том порядке, в котором они происходили.

    Вкладка «Журнал событий».

Профиль с помощью команды console.profile()

DevTools позволяет профилировать производительность процессора JavaScript с помощью команды console.profile() . Вы можете добавить эту команду в свой код, а затем запустить файл или скопировать и вставить свой код в консоль . Панель «Производительность» покажет вам результаты.

Чтобы использовать эту команду, выполните следующие действия:

  1. Заключите свой код в console.profile() и console.profileEnd() , например:

    console.profile( profile ${i} );
    // Code to be profiled
    doSomething();
    console.profileEnd();
    
  2. Запустите свой код одним из двух способов:

После завершения профиля результат автоматически отобразится на панели «Производительность» .