본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Application Performance Management / Monitoring
애플리케이션의 응답 시간, 트랜잭션 흐름, 자원 사용량을 실시간으로 수집·분석하여 성능 문제를 찾아내고 관리하는 활동과 도구
  • 운영 중인 애플리케이션의 성능 저하와 장애를 사용자보다 먼저 발견하고, 병목 지점을 코드·SQL 단위까지 추적하는 것이 목적이다.
  • 대부분 애플리케이션(주로 WAS)에 에이전트를 설치하여 바이트코드 계측 등으로 데이터를 수집하고, 수집 서버와 대시보드로 보여 준다.
  • 개발 단계에서는 성능 테스트 결과를 분석하는 도구로, 운영 단계에서는 애플리케이션 모니터링 도구로 쓴다.
기능 설명
응답 시간 측정 요청(URL, 서비스)별 응답 시간과 처리량(TPS)을 측정한다.
트랜잭션 추적 한 요청이 거친 메서드 호출, SQL 실행, 외부 호출을 순서대로 기록하여 지연 구간을 찾는다. 분산 환경에서는 서버 사이 호출까지 이어서 추적한다.
리소스 모니터링 CPU, 메모리, 스레드, 힙·GC, DB 커넥션 풀 등의 사용량을 본다.
오류·예외 수집 발생한 예외와 오류 요청을 모아 원인 분석을 돕는다.
알림 임계값을 넘으면 담당자에게 경보를 보낸다.

정보처리기사 교재에서는 애플리케이션 모니터링 도구를 수집 방식에 따라 다음과 같이 나눈다.

유형 설명 예
리소스 측정 방식 서버와 네트워크 자원(CPU, 메모리, 디스크, 트래픽) 사용량을 측정 Nagios, Zabbix, Cacti
엔드투엔드(End-to-End) 방식 사용자 요청부터 애플리케이션 내부 처리, DB 호출까지 전 구간을 추적 VisualVM, 제니퍼(Jennifer, 상용), 스카우터(Scouter)
  • 좁은 의미의 APM은 엔드투엔드 방식이다. Nagios, Zabbix, Cacti는 인프라(서버·네트워크) 모니터링 도구로 분류하는 것이 일반적이다.

대표 오픈소스

편집 원본 편집
도구 설명
Scouter LG CNS가 공개한 오픈소스 APM. Java 애플리케이션(WAS)과 호스트 자원을 모니터링한다.
Pinpoint 네이버가 공개한 오픈소스 APM. 대규모 분산 시스템에서 서버 사이 호출 관계(서버 맵)와 트랜잭션을 추적한다.
Zabbix 오픈소스 인프라 모니터링 도구. 서버, 네트워크 장비, 서비스 상태를 수집·경보한다.
VisualVM JVM의 CPU·메모리·스레드 상태를 보는 프로파일링·모니터링 도구

애플리케이션 모니터링 도구로서의 위치

편집 원본 편집

정보처리기사 필기 출제기준(2026년 적용분과 2027~2029년 적용분 모두)에서는 '제품소프트웨어 패키징' 항목의 세세항목 '애플리케이션 모니터링 도구'로 다룬다. 비슷한 이름의 도구와 구분해 둔다.

  • 소스 코드 품질 분석 도구(애플리케이션 성능 개선 항목): 정적 분석(PMD, Checkstyle, SonarQube, cppcheck), 동적 분석(Valgrind, Avalanche)
  • 성능 테스트 도구: 가상 사용자로 부하를 주어 측정(JMeter, LoadUI, OpenSTA)
  • 모니터링 도구(APM): 운영 중 성능과 자원 사용을 지속적으로 관찰
  • 필기·실기 단답형: "애플리케이션 성능을 모니터링·관리하는 도구"의 약어로 APM을 묻는다.
  • 리소스 측정 방식과 엔드투엔드 방식의 구분과 예시 도구
  • 성능 테스트 도구(JMeter 등)와 모니터링 도구(Scouter, Pinpoint 등)의 구분