관리 메뉴

JIE0025

애플리케이션 성능 관리 APM (Application Performance Monitoring) 본문

Infra/Middleware

애플리케이션 성능 관리 APM (Application Performance Monitoring)

sdoaolo 2025. 5. 9. 20:57
728x90

 

✅  개요 

 

 

애플리케이션 성능에 대한 이야기를 해보자. 

 

콘서트 티켓 예약시 사이트가 느리고 먹통이 되어서 예약을 진행할 수 없게 되는 상황이 발생한다. 

 

 

WAS가 받아들일 수 있는 요청의 개수( MAX Thread )가 넘어서게 되면 

스레드를 사용할 수 있을 때까지 남은 요청들이 대기하게 된다. 

 

 

결국 애플리케이션의 성능 문제인것이다. 

 

개발자 / 엔지니어는 성능 향상을 위한 결정을 하게 된다. 

  • WAS 인스턴스를 다중화한다던지,
  • Thread수를 늘린다던지,
  • 캐시를 도입하여 캐시적중률을 높힌다던지 
  • 빠르게 읽기 위한 NOSQL을 사용한다던지...

등등 여러가지 성능을 개선할 수 있는 방법이 존재한다. 

 

 

 

 

✅  APM (Application Performance Monitoring)

애플리케이션의 성능 개선을 어떻게 이룰 것인지 고민하기 위해선

 

어떤 부분이 / 왜느리고/ 어떻게 해결해야하는지 알아야한다. 

 

이때  도와주는 것이 바로 APM이다. 

 

 

 

  • 시스템의  CPU 메모리 트래픽 쿼리실행 등의 정보 제공
  • 실시간 액티브 서비스 모니터링
  • 실시간 E2E 거래 추적
  • Call Tree   등

 

 

 

APM 종류

 

성능 관리 대상과 측정 위치에 따라 3가지로 구분된다.

 

  • 애플리케이션 성능 관리 
  • DB(데이터베이스) 성능 관리 
  • E2E(End-to-End, 최종 사용자) 성능 관리

<출처: 다봄소프트의 등대가 빛나는 밤에>

 

 

애플리케이션 성능 관리 

  • 일반적으로 말하는 APM이 애플리케이션 성능관리를 의미한다. 
  • 애플리케이션이 실행되는 WAS / 미들웨어 등을 대상으로 모니터링한다. 
  • 개발 언어 의존성이 높아서  언어별 솔루션이 존재한다. 

 

DB(데이터베이스) 성능 관리 

  • 개발자가 작성한 SQL튜닝 및 DBMS SW의 병목 현상등을 모니터링한다. 

 

E2E(End-to-End, 최종 사용자) 성능 관리

  • 최종 사용자(기업고객 /일반유저) 성능을 측정하는 솔루션이다. 
  • E2E기반 기술은 네트워크에 대한 기술을 다룬다.  네트워크스위치 / 방화벽 / IPS / IDS / 시큐리티 등 

 

 

 

 대표적인 솔루션 / 오픈소스 

 

Jennifer

https://jennifersoft.com/ko/

 

시장점유율이 높은  APM이다. 

APM은 기술적특성상 WAS와 함께 동작하여  WAS에 영향을 줄 수 있는 부작용이 있지만

제니퍼소프트가 이를 경량화하여 WAS가 받는 영향을 최소화 시켰다. 

 

 

SI 방식으로 개발되어 있어 유지보수 / 차세대 프로젝트에서 문제가 발생할 가능성이 높을수있다고 한다. 

 

 

⏺ 실시간 액티브 서비스 모니터링

웹 애플리케이션 서버에 들어온 모든 트랜잭션 처리과정을  스피드미터 그래프로 제공한다. 

트랜잭션이 어디에서 대기하는지, 어떤 응답 지연을 경험하고 있는지,

수행중인 SQL 쿼리 등 수행상태 정보를 한번에 보여준다. 

https://jennifersoft.com/ko/product/apm/features/

 

 

⏺ 실시간 X View 

모든 트랜잭션의 응답 시간을 점 그래프로 나타내어 트랜잭션의 응답시간분포/ 패턴을 신속하게 감지한다. 



 

 

추후 깊게 들어가서 블로깅 해볼 에정이다. :D

 

 

 

엑셈 (EXEM)

지난 10년간 DB 성능 관리 솔루션 시장에서 국내 점유율 1위이다. 

 

최종사용자모니터링,  트랜잭션모니터링, 네트워크/시스템모니터링, 각종 서버 구성요소 모니터링, 품질테스트, 웹/모바일 성능평가 등을 포괄한다. 

 

>> JVM Performance Optimizing 및 성능분석사례라는 책도 엑셈에서 출간한 책이다.

 

 


⏺ 
Scouter

LG CNS  에서 배포한 오픈소스 APM이다.

자바 애플리케이션의 성능을 모니터링하고 분석할 수 있다. 

 

https://github.com/scouter-project/scouter/releases/tag/v2.15.0

 

 

 


references

https://m.blog.naver.com/shakey7/221913007126

 

APM (Application Performance Management) (웹 서비스 / 데이터베이스 / WAS 웹 애플리케이션 서버 / E2E EUM / 제

1. APM (Application Performance Management) (1) 기본 개념 - IT 서비스의 질은 여러 구간을 잇...

blog.naver.com

 

https://cocologue-study.tistory.com/entry/APM%EC%9D%B4%EB%9E%80-%EC%A2%85%EB%A5%98%EC%99%80-%ED%9D%94%ED%95%9C-%EC%9D%B4%EC%8A%88-%EB%B0%9C%EA%B2%AC-%EB%B0%A9%EB%B2%95

 

APM이란? 종류와 흔한 이슈 발견 방법

APM은 Application Performance Management/Monitoring의 줄임말로써, 말 그대로 애플리케이션(시스템, 응용 소프트웨어)의 성능과 서비스 안정성을 감시하고 관리하는 솔루션을 말한다. 이러한 솔루션들은 실

cocologue-study.tistory.com