목적
개발을 진행하다보면 내가 남기는 로그와 부가 요소만으로는 성능 개선에 한계를 느끼는 경우가 많다. 따라서 실시간으로 애플리케이션의 성능을 모니터링 해주는 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 사용, 메모리/가비지 수집
'프로젝트 > 버그, 성능개선' 카테고리의 다른 글
postgresql INDEX를 활용한 성능 개선 ( 조회, 검색 ) (0) | 2024.09.25 |
---|---|
guincorn 메모리 누수 현상 해결하기 ( gunicorn memory leak ) (0) | 2024.09.25 |
pinpoint django agent 적용하기 (0) | 2024.02.12 |
spring boot pinpoint agent 설치하기 (3) | 2024.02.11 |
APM 도구 pinpoint 설치하기 (0) | 2024.02.10 |