J2EE 애플리케이션의 성능 관리 Framework에 관한 연구 : A study on Frame work for Perfomance Management of J2EE Enterprise Application
- 발행기관 서강대학교 정보통신대학원
- 지도교수 장형수
- 발행년도 2006
- 학위수여년월 200608
- 학위명 석사
- 학과 및 전공 정보통신대학원
- 식별자(기타) 000000103154
- 본문언어 한국어
초록/요약
본 논문은 컴포넌트 기반의 미들웨어와 애플리케이션의 사용은 성능 이슈를 이해하고 예측하는데 어려움이 있음을 살펴보고, J2EE 컴포넌트 기반의 분산 시스템의 성능을 이해하고 예측하기 위한 성능 관리 프레임워크를 제안한다. 이 프레임워크는 세 개의 상호 연관된 모듈로 구성된다: 모니터링, 모델링, 성능 예측. 모니터링 모듈은 수행중인 애플리케이션으로부터 실시간 성능 정보를 획득하며, 이 때 비침입적(non-intrusive) 방법을 이용한다. 모델링 모듈은 모니터링 모듈로부터 가져온 정보를 이용하여 대상 애플리케이션에 대한 UML 모델을 생성하고, UML 성능 지표를 포함하도록 확장한다. 성능 예측 모듈은 대상 애플리케이션에 대해 생성된 모델을 이용하여 여러 가지 워크로드를 가지고 시뮬레이션 한다. 이 프레임워크는 EJB 컴포넌트뿐만 아니라, Servlet과 JSP의 모니터링을 통하여 J2EE 애플리케이션의 End-to-End 성능 관리를 가능하게 한다. 이를 위한 성능 데이터를 추출하기 위하여 J2EE 컨테이너 및 애플리케이션을 수정하지 않고 프록시 계층을 삽입하는 비침입적 방식으로 모니터링 probe를 생성하여 애플리케이션과 모니터링 로직 간의 loosely-coupled 아키텍처를 갖도록 설계하여 유연성을 높인다. 그리고, 모니터링 probe의 활성화/비활성화가 자율적으로 이루어지도록 하고, 애플리케이션 호출 패턴을 모델링하여 call-path(호출 트리)의 가장 상위인 컴포넌트만 모니터링을 함으로써 오버헤드를 줄일 수 있다. 프레임워크의 프로토타입을 자바 오브젝트를 원격으로 모니터링 및 관리할 수 있는 Java Management Extensions(JMX)을 이용하며, 애플리케이션의 프록시 생성을 위한 애플리케이션 발견 메커니즘은 표준 스펙인 J2EE Management Specification (Java Specification Request-77)을 사용하여 호환성을 향상할 수 있도록 한다. 제안된 방안을 검증하기 위하여 Testbed 애플리케이션을 IBM WebSphere Application Server에 설치하여, 성능 관리 프레임워크의 프로토타입을 통한 모니터링을 실행한 실험 결과로 시뮬레이션 구성에 따라 성능의 문제를 안고 있는 메소드가 hot-spot임을 분석해낸 결과를 보여준다. 실제 업무의 적용 가능성 및 오버헤드를 확인하기 위하여, 증권 업무를 벤치마크한 Trade6 J2EE애플리케이션에 대한 실험을 통해 오버헤드라는 관점에서 이러한 접근에 대한 가능성을 봄으로써 정교한 성능의 분석을 할 수 있도록 확장이 가능한 기반이 됨을 증명한다.
more초록/요약
This thesis addresses that the use of component-based middleware and applications makes it difficult to understand and predict performance issues, and proposes a framework for understanding and predicting the performance of J2EE component-based distributed systems. The framework is structured into three interrelated modules: monitoring, modeling and performance prediction. The monitoring module obtains the real-time performance information and detects where the performance hot-spot exists from the running application using the non-interruptive method. The modeling module creates the UML model of target application using the information from the monitoring module and augments the UML model to have the performance indicators. The performance prediction module uses the generated UML models of application to simulate with different workloads. The framework provides End-to-End performance management of J2EE application by supporting not only EJB, but also Servlet and JSP. It introduces the proxy layer to get the performance information without the modification of J2EE container or application. This non-intrusive method enhances the flexibility by having loosely-coupled architecture of the application from monitoring logic. In addition, the adaptive activation/deactivation of monitoring probe can reduce the overhead of monitoring module. The modeling can also improve the monitoring process by enabling the monitoring only for the top level component in the call-path (invocation trees). The prototype of framework is implemented by utilizing Java Management Extensions (JMX) to monitor and manage the Java objects. It also uses the J2EE Management Specification (Java Specification Request-77) to maximize the compatibility to create application proxy by referring deployment descriptor of J2EE application. The prototype is tested by monitoring Testbed J2EE application with five simulated configurations on IBM WebSphere Application Server. As a result of tests, it detects hot-spot of method that has the performance problem. In addition, the prototype is tested using Trade6 J2EE application, which benchmarks the Stock processing business, to analyze the overhead and its applicability to the real environment. The experimental test demonstrates the feasibility of the approach in terms of induced overhead, and it can be extended to support more elaborated analysis of performance.
more