APM: 정의, 메트릭스 및 작동 방식

저자: IT Sectr 게시일: 2026-05-29 읽는 시간: 8 분

APM(Application Performance Monitoring)은 메트릭스 수집, 요청 추적 및 실시간 오류 진단을 포함하는 소프트웨어 성능 모니터링의 포괄적인 접근 방식입니다. Gartner IT Glossary, 2024에 따르면, APM은 세 가지 핵심 영역을 결합합니다: 사용자 경험 모니터링, 애플리케이션 아키텍처 장애 감지, 그리고 깊이 있는 사고 진단을 위한 실행 데이터 분석입니다.

핵심 요점

  • APM — Application Performance Monitoring, 클라이언트, 네트워크, 서버, 인프라스트럭처 등 모든 레벨에서 애플리케이션 성능을 관찰하는 시스템입니다.
  • APM의 세 가지 기둥 — 메트릭스, 트레이싱, 그리고 로그가 통합되여 최종 사고 분석을 위한 통합 관찰가능성 플랫폼을 제공합니다.
  • 에이전트 기반 APM — 상세한 실행 시간 데이터를 수집하기 위해 애플리케이션 서버에 소프트웨어 에이전트를 설치하는 방법입니다.
  • 서비스 맵 — 트레이싱 데이터로부터 자동으로 구축된 마이크로서비스 간의 의존성 그래프입니다.
  • Apdex 점수 — 애플리케이션 응답 시간에 대한 사용자 만족도의 표준화된 기준입니다.

개발에서 APM이란

APM(Application Performance Monitoring)은 소프트웨어 운영 데이터의 수집, 시각화 및 분석을 포함하는 애플리케이션 성능 관리 분야입니다. 개별 메트릭스(CPU, 메모리)의 포인트 모니터링과 달리, APM은 홀리스틱한 관점을 제공합니다: 사용자 관점에서 애플리케이션이 어떻게 동작하는지, 구성 요소가 어떻게 상호작용하는지, 그리고 병목이 어디서 발생하는지를 파악할 수 있습니다.

APM 개념은 2010년대에 모노리시스 애플리케이션에서 마이크로서비스 아키텍처로의 전환과 함께 등장했습니다. 서비스수가 10~15업체를 초과했을 때, 전통적인 모니터링 방법은 작동하지 않았습니다 — 어떤 특정 서비스가 안나 요청을 늘리고 있는지 확인하는 것이 불가능했기 때문입니다. APM 솔루션은 분산 트레이싱과 자동 서비스 맵 구축을 통해 이 문제를 해결했습니다.

Grand View Research (2024)에 따르면, APM 시장은 82억 미국 달러로 평가되며 연 11.5%씩 성장하고 있습니다. 주요 동력으로는 클라우드 이전, 마이크로서비스 수 증가, 그리고 모바일 애플리케이션 및 웹 서비스에서의 사용자 경험 품질에 대한 요구 증가가 있습니다.

APM의 세 기둥: 메트릭스, 트레이싱, 로그

현대 APM은 애플리케이션 상태의 완전한 그림을 형성하는 세 가지 유형의 데이터로 구축되어 있습니다. 메트릭스는 수치적 집계치입니다: 응답 시간, 요청 수, 오류율. 이든은 “무슨 일이 일어나고 있는가”라는 질문에 답하고 임계값에 기초한 경보를 설정할 수 있습니다.

연결 고리로서의 트레이싱

트레이싱(분산 트레이싱)은 “왜 이런 일이 일어나고 있는가”라는 질문에 답합니다. 각 수신 요청은 모든 마이크로서비스, 데이터베이스, 그리고 외부 호출을 통해 추적됩니다. APM 시스템은 메트릭스와 트레이싱을 결합합니다: 응답 시간 메트릭스갌 증가한 경우, 개발자는 트레이스 대시보드로 이동하여 각 서비스별로 세분된 지연을 유발한 정확한 요청을 확인할 수 있습니다.

깊이를 위한 로깅

로그는 문맥을 제공합니다 — 구체적인 오류 메시지, 변수값, 콜 스택 등이입니다. 현대 APM 플랫폼(Datadog, New Relic, Grafana)은 공통의 trace_id를 통해 로그를 트레이스와 연결하여 메트릭 그래프에서 특정 요청 로그로 이동할 수 있습니다. Datadog (2025)에 따르면, 로그를 트레이스와 상관 분석하면 평균 사고 진단 시간이 45분에서 12분으로 줄어덩니다.

신호질문단위
메트릭스무슨 일이 일어나고 있나요?수치적 집계치
트레이싱왜 이런 일이 일어나고 있나요?Spans 및 traces
로그정확히 무슨 문제가 발생했나요?텍스트 기록

APM 아키텍처: 에이전트 및 컬렉터

고전적인 APM 아키텍처는 세 레벨로 구성됩니다: 에이전트, 컬렉터, 그리고 백엔드입니다. 에이전트는 애플리케이션에 임베디되거나 같이 실행되는(insidecar) 라이브러리입니다. 에이전트는 수신 및 송신 호출을 가로채는 작업을 하고, 실행 시간 데이터를 수집하여 안전한 채널을 통해 컬렉터에 전송합니다.

APM 에이전트 작동 방식

Java용 APM 에이전트는 JVM 레벨에서 javaagent를 통해 연결하여 모든 HTTP 요청, 데이터베이스 호출, 메시지 큐, 그리고 외부 API를 자동으로 계기화할 수 있습니다. 모바일 플랫폼의 경우, 에이전트는 SDK로 연결되어 기기에서 메트릭스를 수집합니다. Android용 New Relic Agent는 OkHttp, HTTP 클라이언트 및 WebView를 통해 모든 네트워크 요청을 자동으로 추적합니다.

java
import com.newrelic.agent.android.NewRelic;

public class MainApplication extends Application {
    public void onCreate() {
        super.onCreate();
        NewRelic.withApplicationToken("YOUR_TOKEN")
            .start(this);
    }
}

이 코드는 Android 애플리케이션에서 New Relic Agent를 초기화합니다. 실행 후, 에이전트는 각 화면의 추가 계기화 없이 네트워크 요청 메트릭스, 오류, ANR 및 UI 성능 데이터를 자동으로 수집합니다. 에이전트는 백그라운드 스레드에서 실행되며 주 애플리케이션 인터페이스 성능에 영향을 미치지 않습니다.

컬렉터 및 백엔드

컬렉터는 수추의 에이전트로부터 데이터를 수신하고, 메트릭스를 집계하고, 트레이스 샘플링을 수행하고, 활성 및 대기 저장소 기능을 갖춘 장기 데이터 저장소에 데이터를 보관합니다. APM 백엔드는 대시보드, 경보, 서비스 맵, 그리고 외부 시스템(Slack, PagerDuty, Jira, ServiceNow)과의 연결을 위한 API를 제공합니다. Datadog은 최소의 전송 지연이 위해 20개 이상의 지역에 위치한 컬렉터를 통해 초당 1000만 개 이상의 데이터 포인트를 처리합니다.

Apdex 점수 및 SLA 모니터링

Apdex(Application Performance Index)는 애플리케이션 응답 시간에 대한 사용자 만족도를 측정하는 개방형 표준입니다. Apdex 값은 다음 공식으로 계산됩니다: (만족한 사용자 수 + 참으키는 사용자 수 / 2) / 전체 사용자 수. 결과는 0에서 1 사이의 숫자로, 1은 모든 사용자가 만족한다는 것을 의미합니다.

Apdex 임계값은 각 애플리케이션별로 개별적으로 설정됩니다. 모바일 애플리케이션의 경우, 일반적인 만족 임계값은 응답 시간이 1.5초 까지이고, 참을 수 있는 것은 4.5초 까지입니다. 4.5초를 초과하는 경우 불가능한 것으로 간주됩니다. Apdex 점수 0.94 이상은 프로덕션 환경에서 우수한 것으로 간주됩니다.

Apdex는 품질 메트릭스만 아니라 경보의 임계값으로도 사용됩니다. Apdex가 10분 동안 0.85 미만으로 떨어지면, APM 시스템은 당속 팀에게 알림을 보냅니다. 이는 낮 시간대와 부하에 따라 변동할 수 있는 절대적 인 응답 시간에 의존하는 것보다 더 균형잡힌 접근 방식입니다.

모바일 애플리케이션을 위한 APM

모바일 APM은 고유한 특징이 있습니다: 애플리케이션이 사용자의 기기에서 실행되며, 기기는 다양한 네트워크 환경과 서로 다른 얰량의 여벽 메모리 및 OS 버전을 가질 수 있습니다. 모바일 APM은 이러한 모든 요소를 고려하여 기기 모델, OS 버전, 지역, 그리고 네트워크 이동통신사별로 메트릭스를 세분하여 제공해야 합니다.

기기에서 데이터 수집

모바일 APM 에이전트는 기기에서 메트릭스를 수집하여 1~5분 마다 배치로 서버에 전송합니다. 이는 사용자 트래픽에 미치는 영향을 최소화합니다. 연결이 끞름겠을 경우 데이터는 로컬 캐시에 저장되었다가 다음 연결시 전송됩니다. Firebase PerformanceDynatrace Mobile은 네트워크 끞꺼짐 시 자동 재전송을 지원합니다.

주요 모바일 메트릭스

표준 APM 메트릭스에 다음과 같은 고유한 메트릭스가 추가됩니다: 콜드 스타트 시간, 스크롤 시 FPS, 메모리 소비량, ANR 빈도(Android), 그리고 워치독 종료 수(iOS)입니다. New Relic Mobile은 추가로 맵 뷰, 캐시 사용률, 그리고 특정 ViewController의 렌더링 시간을 추적합니다.

swift
import NewRelic

class ProfileViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        NewRelic.startInteraction(withName: "ProfileView")
    }

    override func viewDidDisappear(animated: Bool) {
        super.viewDidDisappear(animated)
        NewRelic.stopCurrentInteraction()
    }
}

Swift 코드는 사용자 프로필 화면에 대한 상호작용 트레이스를 생성합니다. New Relic은 데이터 로딩 시간, UI 렌더링, 그리고 이 화면이 표시되는 동안 수행된 모든 네트워크 요청을 자동으로 측정합니다.

인기 APM 플랫폼 비교

APM 시장에는 모니터링 깊이, 비용, 그리고 지원되는 플랫폼에 따라 서로 다른 수십 가지 솔루션이 있습니다. Datadog APM은 메트릭스, 트레이스, 로그를 하나의 인터페이스에 통합하는 부문에서 선도하고 있습니다. New Relic은 모바일 플랫폼에 대한 가장 상세한 트레이싱을 제공합니다. Dynatrace는 Davis AI 엔진을 사용하여 근원 원인을 자동으로 감지합니다.

플랫폼모바일 에이전트분산 트레이싱무료 요금제
DatadogiOS, Android아니오
New ReliciOS, Android100 GB/월
DynatraceiOS, Android15일
GrafanaOpenTelemetry 통해예 (OSS)

APM 플랫폼 선택은 팀 규모, 기술 스택, 그리고 예산에 따라 문제입니다. 스타트업의 경우 백엔드용 Grafana와 결합된 Firebase Performance가 최적입니다. 높은 SLA 요구사항이 있는 기업 프로젝트의 경우 — 완전한 관찰가능성 도구와 AI 구동 근원 분석을 갖춘 Datadog 또는 Dynatrace를 선택합니다.

자주 묻는 질문

APM이 일반 서버 모니터링과 어떻게 다른가요?

일반 모니터링은 인프라 메트릭스(CPU, 메모리, 디스크)를 추적합니다. APM은 애플리케이션 레벨을 관찰합니다: 특정 트랜잭션 실행 시간, SQL 쿼리, 마이크로서비스 간 HTTP 호출 등이요. APM은 CPU가 정상이지만 데이터베이스 쿼리가 느려서 애플리케이션이 느릴 수 있음을 보여줌 수 있습니다.

단일 마이크로서비스에 APM이 필요한가요?

단일 서비스에는 기본 코테링을 위해 표준 모니터링 + 로깅으로 충분합니다. APM은 5개 이상의 서비스가 있고, 하나의 사용자 시나리오에서 요청이 여러 서비스를 거쳐야 할 때 필요합니다. APM은 어떤 특정 서비스가 요청 흐름 전체를 늘리고 있는지, 그리고 병목이 어디에 있는지를 알려줍니다.

APM이 인프라 비용에 어떻게 영향을 미치나요?

APM 에이전트는 서버당 1~3% CPU와 50~200MB 메모리를 소비합니다. 라이선스 비용은 호스트당 월 15~80 달러입니다. 텔레메트리 트래픽은 트레이싱 강도에 따라 호스트당 일 1~10GB입니다. OpenTelemetry + Grafana는 상용 APM의 무료 대체 방법입니다.

백엔드 없이 모바일 애플리케이션에 APM을 사용할 수 있나요?

네, 모바일 APM 에이전트는 독립적으로 작동합니다. 애플리케이션에 서버 측이 없던 경우에도 기기에서 시작 시간, FPS, 충돌, 제3자 API에 대한 네트워크 요청 등의 메트릭스를 수집합니다. 데이터는 기기가 인터넷에 연결될 때 APM 플랫폼으로 전송됩니다.

APM 구성을 얼마나 자주 업데이트해야 하나요?

기본 APM 구성(임계값, 대시보드, 경보)은 한 번 설정하고 아키텍처가 변경되거나 성능 벤치마크가 업데이트될 때 조정됩니다. 에이전트 구성은 애플리케이션을 재배포하거나 코드를 수정하지 않고 APM 플랫폼 제어 패널을 통해 자동으로 업데이트됩니다.

요약

  • APM은 메트릭스, 트레이싱, 로그를 결합한 포괄적인 애플리케이션 성능 모니터링 솔루션입니다.
  • 분산 트레이싱은 APM이 고전적 모니터링과 구별되는 주요 차이점으로, 모든 마이크로서비스를 통한 요청 경로를 추적할 수 있습니다.
  • APM 에이전트는 애플리케이션에 임베디되어 실행 시간 데이터, HTTP 요청, 데이터베이스 호출을 자동으로 수집합니다.
  • Apdex 점수는 응답 시간 임계값에 기초하여 계산되는 표준화된 사용자 만족도 메트릭스입니다.
  • 모바일 APM은 콜드 스타트, FPS, ANR, 네트워크 환경, OS 버전 등 기기의 특증을 고려합니다.
  • OpenTelemetry를 통해 개방형 데이터 수집 표준을 사용하여 벤더 종속성 없는 APM 시스템을 구축할 수 있습니다.
  • APM 플랫폼의 선택은 프로젝트 규모에 따라 결정됩니다: 스타트업에는 Firebase, 높은 관찰가능성 요구사항이 있는 기업 아키텍처에는 Datadog 또는 Dynatrace가 적합합니다.

턴키 방식의 모바일 애플리케이션을 개발해 드립니다

IT Sectr는 2017년부터 스타트업과 기업을 위한 iOS 및 Android 애플리케이션을 만듭니다. 저희가 상담해 드리고 최적의 솔루션을 제안하겠습니다.

프로젝트 논의

더 읽어보기