본문 바로가기
WIKI 기술 지식 베이스

Backstage 프로파일링

원문 보기 위키 갱신

Backstage 프로파일링 (Profiling Backstage)

프로파일링은 코드의 성능 병목을 찾는 데 도움이 될 수 있습니다. 이 가이드는 Backstage 애플리케이션의 백엔드와 프런트엔드 모두를 프로파일링하는 방법을 보여줍니다.

출처: 문서

본문

프로파일링은 코드의 성능 병목을 찾는 데 도움이 될 수 있습니다. 이 가이드는 Backstage 애플리케이션의 백엔드와 프런트엔드 모두를 프로파일링하는 방법을 보여줍니다.

백엔드 (Backend)

백엔드를 프로파일링하려면 --inspect 플래그로 백엔드를 시작하세요.

yarn workspace backend start --inspect# or `yarn workspace example-backend start --inspect` in this repository

다음으로 chrome://inspect로 이동하고 Open dedicated DevTools for Node 링크를 클릭해 Chrome DevTools로 백엔드를 프로파일링할 수 있습니다.

Performance 탭에서 Start 버튼을 클릭해 새 기록을 시작할 수 있습니다. 일부 데이터를 기록한 후 Stop 버튼을 클릭해 기록을 중지할 수 있습니다. 기록은 백엔드 실행의 플레임 그래프를 보여주며, 성능 문제를 식별하는 데 도움이 될 수 있습니다.

Memory 탭을 사용해 백엔드의 메모리 사용량을 프로파일링하고 잠재적인 메모리 누수를 찾을 수도 있습니다.

너무 많은 데이터가 수집되지 않도록 짧은 시간 간격으로 프로파일링을 시작하는 것이 좋습니다.

부하 테스트 (Stress testing)

프로파일링을 더 활용하려면 일부 도구로 애플리케이션에 추가 부하를 도입하고 싶을 수 있습니다. 그러한 도구 중 하나가 AutoCannon으로, 애플리케이션의 API 엔드포인트를 부하 테스트하는 데 사용할 수 있습니다. npm install -g autocannon으로 전역 설치할 수 있습니다.

API 엔드포인트에 접근하려면 백엔드에 대해 정적 토큰을 구성해야 합니다. app-config.yaml 파일에 다음 구성을 추가하세요.

backend:  auth:    externalAccess:      - type: static        options:          token: autocannon12345          subject: autocannon

자세한 내용은 Service to Service Auth 문서를 참조하세요. 부하 테스트를 실행하려면 다음 명령을 사용할 수 있습니다.

autocannon -H "Authorization=Bearer autocannon12345" http://localhost:7007/api/catalog/entities

더 많은 명령 옵션은 AutoCannon 문서를 참조하세요.

프런트엔드 (Frontend)

프런트엔드 프로파일링은 Chrome 또는 Firefox용 React DevTools 확장을 사용해 할 수 있습니다. 확장은 Chrome Web Store 또는 Firefox Add-ons 웹사이트에서 다운로드할 수 있습니다.

프로파일링을 시작하려면 yarn start로 애플리케이션을 시작하고 브라우저에서 검사기를 엽니다. Profiler 탭(맨 오른쪽)에서 Start profiling 버튼을 클릭해 기록을 시작합니다. 페이지를 탐색하면서 일부 데이터를 기록한 후 Stop profiling 버튼을 클릭해 기록을 중지합니다.

더 알아보기 (Learn more)