brunch

You can make anything
by writing

C.S.Lewis

by 이동인 Apr 24. 2018

유니크 스택

IT 서비스 모니터링

유니크 스택(Unique Stack)은 실행된 메소드의 집합이 동일한 경우에 대한 통계 정보 입니다. 

와탭의 어플리케이션 성능 모니터링(APM) 서비스는 애플리케이션의 메소드 사용량에 대한 통계를 제공합니다. 유니크 스택을 사용하면 실제 많이 사용되는 스택의 정보를 알 수 있습니다. 


유니크 스택의 동작 원리

와탭의 애플리케이션 성능 모니터링(APM) 서비스는 10초에 한번씩 애플리케이션 트랜젝션의 스택 정보를 수집하여 메소드 기반의 통계 데이터를 제공합니다. 해당 통계 데이터 중에서 사용하기 쉬운 데이터가 유니크 스택입니다. 

1. A() ← B()

2. A() ← B()

3. A() ← C()

4. E() ← D()

상황을 단순화하여 하루 4번의 스택이 위와 같이 저장되었다고 하면 유니크 스택은 아래와 같이 통계 데이터를 보여줍니다. 

50% A()

25% A()

25% E()

유니크 스택은 상위 메소드까지 모두 동일한 경우를 하나의 독립 스택으로 보기 때문에 1번과 2번을 같은 스택으로 처리하며 3번은 실행 메소드는 같지만 다른 스택으로 처리합니다. 4번은 실행 메소드 자체가 다르므로 독립된 메소드로 처리합니다. 


스택정보를 수집할 때마다 실행되는 평균 트랜잭션이 10개정도 되는 서비스라면 하루에 8십만건(24x60x6x10)의 스택 정보가 누적되므로 훨씬 다양한 내용이 보여집니다. 아래는 데모 사이트의 유니크 스택의 통계 화면입니다. socketRead0에서 31만건의 유니크 스택 정보가 쌓인 것을 확인 할 수 있습니다. 


유니크 스택의 이해

유니크 스택에 많이 노출되었다면 통계적으로 빈번한 호출 또는 오랜 시간 동작하는 메소드입니다. 실제 소스레벨의 튜닝을 진행할 계획이라면 성능에 영향을 미치는 메소드 부터 튜닝을 고려하는 것이 좋습니다. 


매거진의 이전글 탑 스택 분석
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari