본문 바로가기
엑셈 경쟁력/전문가 기술기고

[기술기고/인터맥스] 애플리케이션 성능관리의 절대 기준 – 사용자 응답 시간

by EXEM 2014. 3. 13.

 



초당 처리 건수(TPS), 일 방문자수 그리고 테스트 툴을 통한 트랜잭션 응답시간등 일반적으로 IT부서에서 사용하는 성능지표들은 실제 애플리케이션 사용자에게는 의미가 없다. 사용자들에게는 자신들이 직접 경험하는 애플리케이션의 빠름/느림이 의미 있을 뿐이다.

물론 사용자들이 받아들일만한 응답시간이 무엇인지에 대해서는 객관적인 기준을 정하기가 쉽지 않지만 성능관리 측면에서는 최소한 사용자 응답시간을 수집/관리 해야 하고 APM툴에서 반드시 제공해야 하는 기능이어야만 한다. 사용자가 불만을 표시하기 전에 대응 할 수 있도록 APM툴에서 도와 줄 수 있어야 한다.

웹 페이지에서 정보를 판단하고 데이터 입력 등 에 사용자가 들이는 시간을 수집 하는 것도 필요하지만 이 부분은 객관적인 방법으로 데이터 수집이 상당히 복잡하고 어려우므로 현실적으로 수집 가능하고 애플리케이션 운영관리자에게 중요한 사용자 응답시간에 대해서만 언급하고자 한다.
 

일반적으로 사용 되는 응답시간 수집 방법

포트 미러링( sniffer ) – 애플리케이션에 부하를 주지 않고도 대부분의 트랜잭션에 대해 응답시간을 측정 할 수 있지만, 실제 클라이언트의 로딩시간( 즉 실제 사용자가 체험하는 응답시간)을 측정 할 수 없고, 포로토콜이 암호화 된 경우 측정이 쉽지 않다. 또한 복잡하게 frameset으로 구성된 경우, ActiveX 같은 경우 측정에 어려움이 있다.

Agent 방식 – 클라이언트 PC에 설치 되어 수집 하므로 PC의 상태 즉 CPU, 메모리, 디스크 등의 성능도 수집 가능 하고 무엇 보다 실제 사용자의 응답시간을 수집 할 수 있다. 단점은 Agent설치및 관리가 쉽지 않고, 모든 PC에 설치 할 수 없고 또한 ActiveX 같은 경우 수집이 어렵다.

로드 테스트 툴 – 동시 실행 등의 테스팅에는 좋으나, 스크립트 생성 및 관리에 전문적인 능력필요 하고 dynamic web content에 대한 처리가 어렵고, 무엇보다 실제 사용자의 응답시간이 아니다.

툴(GUI Robot Tool) – 사전에 정해진 임의의 트랜잭션들을 특정 시간 마다 자동으로 실행 해서 트랜잭션 응답시간을 측정한다. 실제 사용자의 응답시간을 측정 할 수 있다는 장점이 있는 반면 모든 트랜잭션에 대해서 수집 불가하고 샘플링 이므로 다양한 상황 대응이 안 되는 단점이 있다.  또한 외부 망에 있는 사용자의 응답시간 측정에 한계가 있어 시스템 접근 암호가 같이 배포 되어야 하므로 배포와 유지 관리에 비용이 발생한다. 
 

사이트에서 사용자 응답시간을 모니터링 하지 않는 이유

대부분의 사이트에서 실제 사용자 응답시간의 중요성을 알고 있지만, 실제 구축해서 사용하는 경우가 많지 않은 것은 주로 아래와 같은 이유들 때문이다.

- 위에 언급한 어떠한 경우 던지 구축에 시간이 많이 들고 또한 전문가의 도움이 필요하며 유지 관리 또한 복잡하고 어려움이 많다
- 대부분의 응답시간 측정 툴들이 point solution으로 공급 되므로 실제 문제 분석을 위한 다른 툴과의 연계가 쉽지  않고 추가적인 구축 작업이 필요하다.
- 수집되는 데이터가 가능한 모든 경우의 (상시)응답시간이 아닌 부분적이거나 또는 경우에 따라서는 실제 응답시간과 차이가 있을 수 있다.


InterMax의 사용자 응답시간 측정

InterMax에서는 위에 언급한 방식의 단점들을 극복하여 특허 등록된 새로운 방식으로 접근 하였다. 이를 통해 클라이언트에 설치 관리의 부하가 없으면서 화면 rendering시간이 포함된 실제 사용자 응답시간을 수집 하고 있으며 또한 ActiveX에 대해서도 수집할 수 있는 방법을 제공 하고 있다.

사용자 응답시간을 수집하기 위해 추가적인 설치가 없이 한 번의 InterMax 설치로 제공되는 기능이므로 APM관리자가 추가적으로 관리해야 하는 부담이 없다.

InterMax에서 수집하는 응답시간은 아래와 같은 구간별 구조를 가진다. 

 


**참고로 TP에 해당 하는 Tuxedo 모니터링의 경우는 다음 버전에서 제공될 예정 이다.


이를 통해서 InterMax에서는 실제 Client의 IP와 함께 트랜잭션별 실제 사용자 응답시간을 수집하여 APM관리자가 이를 통해 응답시간 저하와 관련된 대응을 할 수 있게 하였다. 이 데이터는 당연히 InterMax에서 수집되는 다른 성능 분석 데이터 즉 트랜잭션, SQL, Call Tree등 과 자연스럽게 연계 되므로 Point Solution의 경우처럼 복잡한 구축과 분석과정이 없어 가볍고 빠르게 APM관리자가 대응 할 수 있게 된다.

아래는 InterMax에서 기본 제공하는 Client Response Time화면으로 이를 통해, Client IP, 트랜잭션명, 응답시간, WAS 처리 시간, DB 처리 시간 등을 한 눈에 파악 할 수 있다.


 








기고:   박 락 빈
  (주) 엑셈 부사장  

댓글