시작하기

애플리케이션 성능 관리

애플리케이션 성능 관리(Application Performance Management, 이하 APM)는 애플리케이션 서비스에 대한 효율적인 성능 모니터링 및 성능 장애 대응 전략을 수립하고 미래 예측을 가늠하는 일련의 지속적인 성능 관리 체계를 구축하는 것이다.

APM은 System Management System(이하 SMS)이나 Network Management System(이하 NMS)과 같은 전통적인 시스템 관리 솔루션과는 달리 실제 서비스되고 있는 애플리케이션의 서비스 관점의 성능적 현황을 파악할 수 있고, 내부 유지보수 관점에서의 장애 대응 및 분석 역량을 강화시킨다. 따라서 APM을 도입하면 보다 지능적인 방법으로 대 고객 서비스의 안정화를 이루어 궁극적으로 총소유 비용(Total Cost Ownership, 이하 TCO)을 효과적으로 절감할수 있다.

제니퍼(JENNIFER™ )란

(주)제니퍼소프트의 제니퍼(JENNIFER)는 웹 어플리케이션 서버(Web Application Server, 이하 WAS)에서 동작하는 엔터프라이즈 자바 애플리케이션의 성능 관리를 위한 전문적인 APM 솔루션이다.

WAS에 기반하지 않고 독립적으로 동작하는 자바 애플리케이션도 제니퍼를 통해서 성능 모니터링을 할 수 있다.

제니퍼 도입 효과

제니퍼 도입과 사용을 통해서 얻을 수 있는 주요 효과는 다음과 같다.

제니퍼 도입 효과

다운 타임 최소화

제니퍼를 도입하면 성능 장애 현상 발생시 즉각적인 원인 분석과 신속한 해결을 통해 다운 타임을 최소화하여 시스템을 보다 안정적으로 운영할 수 있다.

통합 대시보드 성능 관제 구축

제니퍼를 도입하면 서비스 관점에서의 성능 모니터링 시스템을 손쉽게 구축하여 서비스 현황을 실시간으로 통합 관제할 수 있다. 제니퍼의 실시간 통합 대시보드는 강력하고 다이나믹하며 즉시적인 성능 모니터링 인터페이스를 제공한다.

장애 대응 능력 확보

제니퍼를 도입하면 지속적인 시스템의 성능 모니터링을 통해 향후 발생할 가능성이 있는 위험을 예측하고 미연에 방지할 수 있다. 또한 제니퍼는 문제 발생시 자동 경보 기능을 제공한다.

대고객 서비스 만족도 향상

제니퍼를 도입하면 자동 부하량 제어(PLC) 기능을 통한 서비스 안정화, 다운 타임의 최소화 및 장애 대응 능력의 확보로 보다 안정적이고 신뢰성 높은 24 시간 x 365 일 시스템 운영이 가능하게 되어, 궁극적으로 대고객 만족도를 향상시킨다.

총소유 비용 절감

제니퍼를 도입하면 다운 타임 최소화, 장애 대응 능력 확보, 애플리케이션 튜닝을 통한 성능 최적화, IT 자원 효율성의 극대화와 효율적인 인적 자원 활용으로 TCO를 절감할 수 있다.

정량화된 성능 근거 자료 확보

제니퍼를 도입하면 접속자와 부하량 등에 대한 정량화된 데이터 수집 및 통계 분석을 근거로 시스템 확장 및 개편 시점을 예측하고 증설과 튜닝 작업에 필요한 정량화된 근거 자료를 확보할 수 있다.

제니퍼 기능

제니퍼가 제공하는 주요 기능은 다음과 같다.

서비스 모니터링

서비스 모니터링은 애플리케이션의 사용자와 실시간 서비스 처리 현황과 관련된 성능 데이터를 수집하는 것이다.

제니퍼가 제공하는 서비스 모니터링 항목은 다음과 같다.

리소스 모니터링

리소스 모니터링은 애플리케이션이 서비스를 수행하는 과정에서 사용하는 CPU와 메모리와 같은 논리적 혹은 물리적 자원과 관련된 성능 데이터를 수집하는 것이다.

제니퍼가 제공하는 리소스 모니터링 항목은 다음과 같다.

장애 진단 및 분석

웹 애플리케이션의 성능과 관련된 장애 유형은 부하량 증가에 의한 상대적 성능 장애와 비정상적인 특정 조건 상황에서 발생하는 조건적 성능 장애로 구분된다. 제니퍼는 이런 성능 장애를 진단하고 분석하기 위해 다음과 같은 기능을 제공한다.

실시간 액티브 서비스 모니터링

제니퍼는 자바 애플리케이션이 현재 처리중인 트랜잭션을 액티브 서비스라고 한다. 그리고 이 액티브 서비스 목록을 경과 시간대 별로 나누어서 실시간 이퀄라이저 차트와 액티브 서비스 목록으로 제공한다. 이를 통해 사용자는 현 시점에서의 자바 애플리케이션 내부의 액티브 서비스에 대한 스냅 샷 정보를 확인할 수 있다.

제니퍼가 제공하는 액티브 서비스는 지난 몇 초간의 통계 정보가 아니라 현 시점에서의 실시간 트랜잭션 처리 정보를 제공한다.

X-VIEW와 트랜잭션 프로파일링

응답 시간 분포도는 모든 트랜잭션을 트랜잭션의 시작 시간과 응답 시간을 기준으로 차트에 점으로 표현한 것이다. 제니퍼에서는 이를 X-View로 지칭한다.

전체 트랜잭션 처리 현황을 X-View로 모니터링하면 응답 시간의 지연을 야기시킨 특정 트랜잭션 혹은 서로 연관 관계를 갖는 트랜잭션 그룹을 파악하여 성능 저하 현상을 보다 효과적으로 분석할 수 있다.

응답 시간 분포도를 통해서 응답 시간이 느려졌다는 것 외에 응답 시간을 느려지게 만드는 미묘한 병목 유형의 패턴을 감지할 수 있다. 모니터링 과정에서 매우 다양한 형태의 응답 시간분포 패턴과 직면하게 되며 이런 패턴을 기반으로 시스템의 성능 현황을 직관적으로 파악할 수 있다. 따라서 제니퍼 X-View는 라인 차트 몇 개를 합한 것보다 효과적인 기능을 제공한다.

또한 제니퍼 프로파일링 기능을 통해서 개별 트랜잭션에 대한 상세한 수행 내역을 분석할수 있다. 수행 내역에는 다음과 같은 내용이 포함된다.

다이나믹 프로파일링

제니퍼는 자바 애플리케이션을 재시작하지 않고 임의의 자바 메소드에 대해서 트랜잭션 프로파일링을 활성화 혹은 비활성화 할 수 있는 다이나믹 프로파일링 기능을 제공한다.

다이나믹 스택트레이스

자바 애플리케이션에서 스택트레이스를 추출하는 전통적인 방법은 임의의 예외가 발생하도록 소스 코드를 수정하고 의도적으로 해당 예외를 발생시켜서 관련 스택트레이스를 명시적으로 출력하는 것이다. 그러나 제니퍼는 자바 애플리케이션을 재시작 하지 않은 상태에서 소스 코드의 수정 없이 스택트레이스를 수집할 수 있다. 스택트레이스를 기록할 메소드를 지정하고 임의의 트랜잭션이 해당 메소드에 진입하면 관련 스택트레이스가 다이나믹하게 기록된다.

도메인 구성을 통한 통합 모니터링

하나의 제니퍼 서버가 감당할 수 있는 제니퍼 에이전트의 숫자와 업무 처리량에는 한계가 있다. 이 한계를 초과하는 경우에는 여러 개의 제니퍼 서버를 운영하면서 부하를 분산 시켜야 한다. 그러나 여러 개의 제니퍼 서버를 운영하면 관리 비용은 증가하고 사용자 편의성은 감소하는 단점이 있다. 이런 단점을 해결하기 위해서 제니퍼에서는 도메인 구성을 통해서 여러 개의 제니퍼 서버를 통합해서 관리하는 통합 사용자 인터페이스를 제공한다.

애플리케이션과 SQL 튜닝

애플리케이션의 호출 건수와 평균 응답 시간 통계를 기반으로 성능 저하를 야기하는 병목 애플리케이션을 도출하고 프로파일링 기능을 통해서 해당 애플리케이션을 수행한 트랜잭션의 병목 구간을 구체적으로 파악할 수 있다.

또한 SQL과 외부 트랜잭션이 특정 애플리케이션에서 차지하는 점유 비율을 파악해서 튜닝이 필요한 SQL과 외부 트랜잭션을 손쉽게 찾아낼 수 있다.

경보와 예외 보니터링

제니퍼는 자바 애플리케이션에서 발생하는 예외를 감지하고 자바 애플리케이션 상태를 분석하여 적절한 경보를 발생시킨다. 경보는 심각, 에러, 경고 등으로 구분되는데, 사용자는 제니퍼 클라이언트를 통해서 실시간으로 경보 발생을 확인하고 과거 경보 내역을 분석 할 수 있다.

모니터링 확장 어뎁터

모니터링 확장 어뎁터를 통해서 미리 정의된 규약과 형식이 없는 비정형 성능 데이터를 수집할 수 있다. 모니터링 확장 어뎁터는 다음과 같다.

통계 분석 및 보고서

제니퍼는 수집한 성능 데이터를 데이터베이스에 저장하기 때문에 유연한 통계 분석을 가능하게 한다. 그리고 해당 데이터를 2차 가공한 다양한 사용자 정의형 보고서 작성 기능을 제공한다.

지원 환경

제니퍼를 사용할 수 있는 최소 사양 및 지원 환경을 설명한다.

제니퍼 에이전트

제니퍼 에이전트를 설치할 수 있는 운영 체계(Operating Systems)는 다음과 같다.

자바 1.3 이상을 사용하는 자바 애플리케이션만을 제니퍼 에이전트로 모니터링할 수 있다. 제니퍼 에이전트로 모니터링할 수 있는 WAS는 다음과 같다.

제니퍼 닷넷 에이전트

설치할 수 있는 운영 체계(Operating Systems)는 다음과 같다.

닷넷 프레임워크

제니퍼 서버

모니터링하는 제니퍼 에이전트의 개수가 10개 이하이고, 최대 서비스 요청률이 100 TPS(Transaction Per Second)이고, 수집한 성능 데이터를 1달간 보관하는 것을 기준으로 제니퍼 서버의 하드웨어 최소 사양은 다음과 같다.