성능 모니터링이란?
성능 모니터링은 애플리케이션과 인프라의 핵심 지표(메트릭)를 지속적으로 수집, 시각화하고, 비정상적인 패턴이나 임계값 초과 시 알림을 발생시키는 활동입니다.
이제 9장의 마지막 절로, 시스템의 성능을 지속적으로 측정하고 분석하여 병목 현상을 식별하고 최적화하는 데 필수적인 성능 모니터링(Performance Monitoring)과 프로파일링(Profiling)에 대해 NestJS 애플리케이션 환경을 중심으로 살펴보겠습니다. 애플리케이션이 배포된 후에도 성능은 계속해서 관리해야 하는 중요한 요소입니다.
메트릭 노출와 Node.js 런타임 프로파일링를 중심으로 성능 모니터링과 프로파일링의 판단 흐름을 읽습니다.
성능 모니터링은 애플리케이션과 인프라의 핵심 지표(메트릭)를 지속적으로 수집, 시각화하고, 비정상적인 패턴이나 임계값 초과 시 알림을 발생시키는 활동입니다.
NestJS 애플리케이션의 성능을 모니터링하기 위해 메트릭을 노출하고 이를 Prometheus와 Grafana로 시각화하는 방법을 예시로 들어보겠습니다.
프로파일링은 애플리케이션의 코드 실행을 분석하여 특정 함수나 코드 블록이 CPU 시간, 메모리, I/O 등 리소스를 얼마나 사용하는지 상세하게 측정하는 과정입니다.
이는 시스템의 현재 상태를 파악하고, 잠재적인 문제를 사전에 감지하며, 장애 발생 시 원인을 빠르게 진단하는 데 도움을 줍니다.모니터링의 주요