본문 바로가기

프로젝트/버그, 성능개선

주요 APM 도구 분석하기

반응형

 

 

목적

개발을 진행하다보면 내가 남기는 로그와 부가 요소만으로는 성능 개선에 한계를 느끼는 경우가 많다. 따라서 실시간으로 애플리케이션의 성능을 모니터링 해주는 Application Performance Management (APM) 툴을 도입해서 사용한다.
사용하는이유는 목적은 크게 다음과 같다. 

  • 성능 모니터링 
  • 트랜잭션 추적
  • 서비스간 연동 분석

 

국내에서 많이 사용하는 APM 툴에 대해 간단하게 분석해봤다.

 

각 APM별 사용하는 용어는 조금씩 다르나 동작하는 기능이 비슷해서 이렇게 부르겠다.

  • ServerMap - 구성요소를 시각화 해서 시스템 이해
  • CallStack -  분산환경의 모든 트랜잭션에 대해 시각화 및 병목및 장애지점 식별
  • Inspecture - CPU 사용, 메모리/가비지 수집 

 

핀포인트  

https://github.com/pinpoint-apm/pinpoint

 

네이버에서 개발한 오픈소스 SW 

 

주요 기능 

  • ServerMap - 구성요소를 시각화 해서 시스템 이해
  • CallStack -  분산환경의 모든 트랜잭션에 대해 시각화 및 병목및 장애지점 식별
  • Inspecture - CPU 사용, 메모리/가비지 수집 

 

 

 

Elastic APM 

 

https://github.com/elastic/apm-server

 

여러가지 성능분석, 로그분석, 시각화툴로 유명한 elastic 사의 오픈 소스 SW

 알림, 머신러닝 관련에 대해서는 부분 유료 서비스

 

주요 기능 

  • ServerMap - 구성요소를 시각화 해서 시스템 이해
  • CallStack -  분산환경의 모든 트랜잭션에 대해 시각화 및 병목및 장애지점 식별
  • Inspecture - CPU 사용, 메모리/가비지 수집 

 

 

 

JENNIFER APM

 

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

 

모니터링 전문 제니퍼사의 유료 SW

 

 

주요 기능 

  • ServerMap - 구성요소를 시각화 해서 시스템 이해
  • CallStack -  분산환경의 모든 트랜잭션에 대해 시각화 및 병목및 장애지점 식별
  • Inspecture - CPU 사용, 메모리/가비지 수집 

 

 

와탭 APM

https://gov.whatap.io/application-monitoring/

 

모니터링 전문 와탭사의 유료 SW

  • ServerMap - 구성요소를 시각화 해서 시스템 이해
  • CallStack -  분산환경의 모든 트랜잭션에 대해 시각화 및 병목및 장애지점 식별
  • Inspecture - CPU 사용, 메모리/가비지 수집 

 

 

 

 

 

 

반응형