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

Используйте панель «Производительность» , чтобы оценить производительность приложений Node.js и Deno .

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

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

Откройте инструменты разработчика для Node.

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

    Node.js

    node --inspect file-name.js

    Дено

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

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

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

    Все способы открыть инструменты разработчика для Node.

Профилирование ЦП

Для профилирования процессора откройте панель «Производительность» и дважды нажмите кнопку «Запись» , чтобы начать и завершить профилирование.

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

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

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

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

    Обзор хронологии.

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

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

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

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

  • Журнал событий : На этой вкладке отображаются действия из выбранного фрагмента записи в порядке их возникновения.

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

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

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

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

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

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

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