애플리케이션 모니터링
애플리케이션 성능 모니터링의 핵심은 트랜잭션의 응답시간을 측정하는 것입니다. 일반적으로 트랜잭션의 응답시간을 측정하여 트랜잭션의 평균값을 라인 챠트로 나타냅니다. 하지만 트랜잭션의 응답시간을 라인챠트로 그리게 되면 일부 트랜잭션만 느린 경우 알아낼 수 없습니다. 그렇기 때문에 트랜잭션의 응답시간은 분포도 형태로 챠트를 그리는 것이 좋습니다.
응답시간 분포도를 설명하기 위해 우리가 만든 "가라가라" 서비스를 사용하는 사용자들이 "가라" 검색을 하면서 2건의 트랜잭션이 발생했다고 가정해보겠습니다. 2건의 트랜잭션이 각각 1분과 2분의 응답시간으로 발생하였다면 응답시간 분포도는 아래처럼 만들어질 수 있습니다.
응답시간 분포도에서 X축은 트랜잭션이 종료된 시간을 의미하고 Y축은 트랜잭션이 WAS 서버에 들어온 후 백엔드 시스템에서 머무른 시간을 의미합니다. 위에 응답 시간 분포도를 시간의 흐름으로 표현하면 아래와 같습니다.
일반적으로 트랜잭션의 응답시간은 1초 이내로 발생하며 트랜잭션 건수도 초당 100건 이상 발생합니다. 때문에 실제 응답시간 분포도는 아래처럼 복잡한 형태로 표현됩니다.
응답시간 분포도에 대한 좀더 재미있는 이야기는 와탭랩스 CTO이신 성조님의 동영상 강의를 통해 살펴볼 수 있습니다. 10분 정도의 짧은 영상이니 부담없이 보실 수 있습니다.
https://www.youtube.com/watch?v=JHVYfJjtYQo
와탭랩스에 관심이 있다면 방문해 보세요. :)