성능 패널로 Node.js 성능 프로파일링

성능 패널을 사용하여 Node.jsDeno 애플리케이션의 성능을 프로파일링합니다.

CPU 프로필이란 무엇인가요?

CPU 프로필은 일정 기간 동안 CPU가 어떻게 사용되었는지 보여주는 보고서입니다. CPU 시간을 가장 많이 사용하는 프로그램, 실행 중인 프로세스, 각 상태에서 소요된 시간을 확인할 수 있습니다. CPU 프로필을 사용하면 성능 병목 현상을 식별하고 CPU 리소스 사용률을 최적화할 수 있습니다.

Node용 DevTools 열기

  1. 명령줄에서 다음을 실행합니다.

    Node.js

    node --inspect file-name.js
    

    데노

    deno --inspect file-name.js
    
  2. 다음 방법 중 하나로 Node용 DevTools에 연결합니다.

    • DevTools를 열고 상단의 DevTools 작업 모음에서 녹색 노드 버튼을 클릭합니다.
    • 주소 표시줄에 chrome://inspect을 입력하고 다음 중 하나를 클릭합니다.

      • 기기에서 노드 전용 DevTools를 엽니다.
      • 프로파일링할 대상 아래에서 Inspect를 선택합니다.

    Node용 DevTools를 여는 모든 방법

CPU 프로파일링

CPU를 프로파일링하려면 Performance 패널을 열고 radio_button_checked Record 버튼을 두 번 클릭하여 프로파일링을 시작하고 종료합니다.

레코드 버튼 및 VM 인스턴스 선택기

프로파일링 결과 분석

기록을 중지하면 성능 패널에 '프로필'의 녹화 파일에 관한 데이터가 정리되어 표시됩니다. 다음 탭을 사용하여 프로파일링 데이터를 분석합니다.

  • 타임라인 개요. 상단의 활동 바 아래에 있습니다. CPU 및 NET 활동 차트를 타임라인에 표시합니다. 이를 사용하여 성능 병목 현상을 식별합니다.

    타임라인 개요입니다.

  • Bottom-Up: 이 탭을 사용하면 기록의 선택한 부분을 검사하고 개별 활동에 소요된 집계된 시간을 확인할 수 있습니다.

    상향식 탭입니다.

  • Call Tree: 이 탭에는 녹음 파일의 선택된 부분의 루트 활동이 표시됩니다. 루트 활동에는 호출 스택도 중첩되어 있습니다. 이 탭을 사용하여 가장 많은 작업을 발생시키는 활동을 확인할 수 있습니다.

    Call Tree 탭

  • 이벤트 로그: 이 탭에는 기록에서 선택된 부분의 활동이 발생한 순서대로 나열됩니다.

    이벤트 로그 탭

console.profile() 명령어를 사용한 프로필

DevTools를 사용하면 console.profile() 명령어로 자바스크립트 CPU 성능을 프로파일링할 수 있습니다. 이 명령어를 코드에 추가한 후 파일을 실행하거나 코드를 복사하여 콘솔에 붙여넣을 수 있습니다. 성능 패널에 결과가 표시됩니다.

이 명령어를 사용하려면 다음 단계를 따르세요.

  1. 코드를 console.profile()console.profileEnd()로 묶습니다. 예를 들면 다음과 같습니다.

    console.profile( profile ${i} );
    // Code to be profiled
    doSomething();
    console.profileEnd();
    
  2. 다음 두 가지 방법 중 하나로 코드를 실행합니다.

프로필이 작성되면 실적 패널에 결과가 자동으로 표시됩니다.