16
주식회사 엑셈 서울특별시 강서구 염창동 240-21 우림 비즈니스센터 A-1208 TEL 02.6203.6300(대표) FAX 02.6203.6301 www.ex-em.com

Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청

  • Upload
    vodien

  • View
    228

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청

Transaction Performance Maximizer InterMax

주식회사 엑셈

서울특별시 강서구 염창동 240-21 우림 비즈니스센터 A-1208TEL 02.6203.6300(대표) FAX 02.6203.6301 www.ex-em.com

Page 2: Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청
Page 3: Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청

Transaction Performance Maximizer InterMax

Web

Web

Web

Java

Daemon1

Java

Daemon2

Java

Daemon3

SQL Server

WAS1

WAS2

WAS3

WAS4

DB2

Oracle외부

서버

Web

Web

Web

Java

Daemon1

Java

Daemon2

Java

Daemon3

SQL Server

WAS1

WAS2

WAS3

WAS4

DB2

Oracle외부

서버

APM 통합 성능관리

InterMax는 최초 사용자 요청부터 DB까지, WEB 서비스 전 구간의 성능을 구간별

응답시간 데이터를 통하여 관리할 수 있도록 하는 End-To-End 솔루션 입니다.

Total APM Solution

InterMax

- 단일솔루션을 통한 End-To-End 통합관제(One Tool for Entire Tier)- Multi Transaction Key Mapping 기법을 활용하여 최소의 부하로 구간별 성능 데이터 수집

Page 4: Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청

3

Web

Web

Web

Java

Daemon1

Java

Daemon2

Java

Daemon3

SQL Server

WAS1

WAS2

WAS3

WAS4

DB2

Oracle외부

서버

Web

Web

Web

Java

Daemon1

Java

Daemon2

Java

Daemon3

SQL Server

WAS1

WAS2

WAS3

WAS4

DB2

Oracle외부

서버

32 l

Page 5: Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청

Transaction Performance Maximizer InterMax

InterMaxInterMax는 WEB 부터 DB 또는 외부 요청까지 전 구간에 걸친 거래추적 기능을 제공하며, 개별 트랜잭션 분석에 필요한 Call

Tree·SQL 실행 정보는 기본이고 JVM 상태 정보 및 시스템 운영 정보까지 함께 제공하는 애플리케이션 성능관리 전문 도구 입니다.

What is InterMax?

WAS Server 응답시간 측정

Web Server로 들어오는 요청의

Network 패킷을 수집하여 WAS

트랜잭션과 연계를 통한 Web

Server 구간 응답 시간 측정이

가능합니다.

Page 6: Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청

5

WAS-WAS, JAVA 응답시간 측정

RMI, SOCKET 통신을 통한 WAS-WAS 구

간 트랜잭션 또는 WAS-JAVA Daemon 구

간 트랜잭션의 응답시간 측정 기능이 제공되

며, 전송 원본 데이터를 변경할 필요 없이 최

소의 자원 사용으로 수집이 가능합니다.

4 l

Transaction Path

Transaction Path View는 최소의 부하로 개별 트랜잭션의

End To End 플로우를 자동으로 찾아서 표시하여 어느 곳에

서 지체가 발생하는지 즉시 파악이 가능하게 합니다.

Page 7: Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청

Transaction Performance Maximizer InterMax

Dash Board- 고객사의 특성을 반영한 다양한 UI를 제공하여 관리자가 하나의 화면에서 시스템 운영 상황을 직관적으로 파악 가능

Dash Board

•감시 항목에 임계치를 설정하여 알람 정보를 통해 전체 시스템의 문제 현황을 한눈에 파악하기에 유용합니다.

•일정 기간 동안의 추이를 분석할 수 있고, 모든 지표에 대해서 되돌려 볼 수 있는 시뮬레이션 시스템을 제공할 뿐 아니라 장애 발생 시

담당자에게 SMS를 발송하여 문제 상황에 대해 신속하게 대처할 수 있도록 합니다. (SMS 발송 로직은 고객사에 맞게 구성할 수 있습니다)

•트랜잭션 요청건수 및 수행시간 정보를 업무 단위 별로 제공하여 중요 업무에 대한 문제 여부를 파악하기에 유용합니다.

•트랜잭션 응답시간에 따라 세가지 색상으로 개수를 표현하여 장애 상황을 쉽게 인지할 수 있으며, 시간대별 동시 접속자 수

추이 변화 및 서비스 요청률 변화에 대한 정보도 한눈에 파악이 가능합니다.

Page 8: Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청

76 l

TOP-T(Transaction Oriented Performance) 서비스란?

㈜엑셈은 사용자 트랜잭션 관점의 성능관리를 위해 TOP-T(Transaction

Oriented Performance-Tuning) 서비스를 제공합니다. TOP-T 서비스는 WEB

서비스 전 구간에 대해, 사용자 트랜잭션의 응답시간을 분석하고 개선하는 컨설

팅 서비스 입니다.

TOP-T 서비스의 특징

TOP - T 서비스

구간 분석을 통한 성능 저하 구간에 대한 상세 분석 및 개선

제품을 활용한 효과적인 분석 및 우선 순위 부여

일량 산정의 정확성

동일 회사의 DB, WAS 전문가 투입에 따른

효율적인 컨설팅

TOP-TService

서비스 종료 후에도, 제품을 활용한

지속적인 성능관리 가능안정성 확보

효율성 증대차별된 접근방법

사용자 트랜잭션 관점의 성능

관리 접근

WEB, WAS, DB 구간 전반에

대한 서비스

협의•튜닝 대상 트랜잭션 및 일량 협의

1일

수행•문제 분석 및 튜닝

협의(최대 1개월)

TOP-T 서비스의 절차

TOP-T 서비스 세부내용

착수

•제품설치

•현황분석을 위한 데이터 로깅

1일

현황분석

•트랜잭션 사용 현황 리포트 제공

2일

튜닝 대상 트랜잭션 선정

트랜잭션 지연 구간 확인(WEB, WAS, DB)

•동적 콘텐트 캐싱 설정 점검

•클러스터링 설정 점검

•WAS 자원 사용 패턴 점검(메모리, CPU, GC)

•Thread, Connection

•SQL Tuning

•(SQL Tuning을 위한 Parameter, Schema Tuning)

1 3

42

보고 •결과 보고 1일5

Page 9: Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청

Transaction Performance Maximizer InterMax

AGENTLESS - 사용자 PC에 Agent 설치 없이 최종 사용자 응답시간 추출

LIGHT WEIGHT & AUTO PROFILING- AOP(Aspect Oriented Programming) 기법을 활용하여 최소의 부하로 디테일한 성능 데이터 수집- 자체 구현한 SFP(Super Fast Profiling) 기능을 통해 Simple Method를 제외한 User Class 전체 수행 내역 수집

사용자의 PC에 별도의 Agent를 설치하지 않고, 사용 중인 애플리케이션

수정 없이 실제 사용자의 최종 응답시간을 수집하는 기능을 제공하여 실

행되는 트랜잭션의 구간별 응답시간 분석이 가능합니다.

InterMax는 AOP 기법을 사용하여, 최소한의 부하로 Class Method Profiling 정보를 제공합니다. 일반적인 BCI 기반의 제품들은

Class Method Profiling 시의 과부하로 인해 극히 제한적인 Profiling 정보만을 제공하나, InterMax는 대부분의 Class Method에 대한

Profiling 정보를 최소한의 부하로 제공합니다.

InterMax 주요특징

WAS-DB- WAS Transaction과 DB Session Mapping 기술을 활용한 연계분석

WAS의 액티브 트랜잭션 목록에서 DB 세션 정보(Instance name, SID,

Wait Info, Wait Time, Logical Reads, Physical Reads, SQL문 등)를

동시에 파악할 수 있습니다.

InterMax는 특정 WAS 트랜잭션의 Execution Thread가 어느 DB 세션으

로 수행이 되는지 추적할 뿐 아니라, 이 세션의 DB 수행시간 및 일량, 대

기 현황정보를 한눈에 파악할 수 있는 단일한 인터페이스를 제공합니다.

트랜잭션 관점에서 WAS의 현황과 함께 DB에서의 수행 상황을 통합하여

모니터링 함으로써 성능저하 및 장애원인에 대하여 정확하게 파악할 수

있습니다.

Page 10: Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청

9

TOP-DOWN - 한 번의 클릭으로 트랜잭션 Call Tree 분석, SQL 튜닝 및 JAVA 소스분석, Root-Cause 파악가능

InterMax는 운영 중인 WAS 시스템에 최소한의 부하로 WAS 운영정보를 수집하여 실시간 진단 분석이 가능하도록 합니다. 시스템 전

체에 대한 성능감시에서 이상현상이 발생한 특정 트랜잭션을 추출하고, 트랜잭션의 상세 내역 진단 및 분석을 통해 장애원인을 분석하

는 Top Down Approach 방식을 채용하여 보다 신속하고 정확한 진단 분석이 가능합니다.

System 감시

WAS, DB의 가동상황을 성능정보, 대기정보, 액티브 트랜잭션 등의 관점에서 통합적으로 감시합니다.

트랜잭션 진단

현재 수행중인 액티브 트랜잭션에 대한 Thread CPU, Class Method, Connection Pool, SID, DB Wait Info, Elapsed Time, Bind

Value 등 트랜잭션 진단에 필요한 상세한 데이터를 제공합니다.

개별 트랜잭션 분석

문제의 원인으로 파악된 트랜잭션에 대해 현재 수행 중인 Call Tree 상세 정보, SQL 정보 및 Method Parameter 및 Return 값을 확인

합니다.

SQL 검증 및 튜닝

트랜잭션 성능 저하의 원인이 SQL 수행 지연이라고 확인된 경우, SQL의 실행계획 조회, 실행결과 확인, 10046 트레이스 수행 및 자동

분석 작업을 수행합니다.

WAS 성능에만 국한하지 않고, WAS와 연결되어 있는 DB 성능까

지 실시간으로 모니터링할 수 있도록 DB의 주요 성능 지표인 Active

session, Alert log, Lock tree 등을 제공합니다.

Database 실시간 모니터링

<Database 실시간 모니터링>

8 l

Page 11: Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청

Transaction Performance Maximizer InterMax

Web Server Monitoring Web Server의 호출된 URL별 응답시간, URL별 서비스 통계, 서비스 오류 알람 및 Web Server의 각종 상태 정보를 제공합

니다.

URL 별 응답시간

호출된 URL 별로 응답시간의 평균, 최대값 및 요청률 통계정보를 확인할 수 있습니다.

URL 별 서비스 통계(요청 건수)

URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청 건수 등을 제공합니다.

서비스 오류 알람

오류가 발생한 URL의 경우 실시간 알람을 발생시켜 서비스 이상 발생 즉시 확인 및 조치가 가능합니다.

Web Server 상태 정보

Web Server의 각종 상태 정보(Service 요청률, TPS, Queue Count 등)를 제공하여 서비스 지연 발생 시 원인 분석에 사용 가능합니다.

Web Server Monitoring

Page 12: Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청

11

WAS Monitoring WAS 서버의 자원 사용률 분석, 장애 분석, 실시간 알람, 운영관리의 기능을 제공하여 트랜잭션 응답지연 상황을 빠르게 인지할

수 있습니다.

HOST 서버 상태 정보

WAS가 운영 중인 서버의 OS CPU 사용률, Memory 사용률

및 TOP Process List를 통하여 리소스 부족에 의한 장애 분석

및 서버 증설의 참고 자료로 활용 가능합니다.

JVM GC 정보

WAS 별 주요 GC 관련 상세 정보(GC time, count, class load

time, count)를 통해 Memory 이슈 발생 시 원인 분석 및 튜닝

용도로 활용할 수 있습니다.

JVM 상태 정보

JVM의 CPU 사용률, Service Thread의 CPU 사용률, JVM

Heap Memory 사용률 정보를 확인할 수 있으며, 이를 통해 서비

스 장애 및 성능 지연 발생 시 분석 용도로 활용할 수 있습니다.

Connection Pool 사용 정보

Connection Pool 별 사용률 통계를 제공하여 설정되어 있는

Connection Pool 수치가 적정한지 여부를 확인하고 조정하는

참고 자료로 사용할 수 있으며, Connection leak 발생 여부 또

한 실시간으로 확인 가능합니다.

WAS Monitoring

자원 사용률 분석

CPU 및 Memory 사용 Top Process 목록 JVM CPU, Heap Memory 사용률

Thread CPU 사용률

HOST 서버의 CPU, Memory 사용률 정보

10 l

Page 13: Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청

Transaction Performance Maximizer InterMax

WAS Monitoring

Memory Leak 원인 분석

메모리 누수를 확인하는 Top-Down 접근 방식과 Bottom-Up 접근 방식 2가지를 제공합니다. 메모리 증가가 있는 트랜잭션 목록을 통해

실제 메모리 누수를 발생시키는 Object를 찾을 수 있고, 반대로 메모리 증가가 있는 Object를 통해 해당 Object를 사용하는 트랜잭션을

추적할 수 있습니다. 이런 기능을 통해 메모리 사용이 조금씩 증가하는 경우 쉽게 원인을 찾아낼 수 있습니다.

Active Service 지연 분석

구간별 응답시간 분석으로 장애 구간을 확인한 후 Top-Down 방식으로 지연 원인을 몇 번의 클릭으로 분석할 수 있습니다.

장애분석

Call Tree 분석 SQL 응답시간 분석

Method 소스 분석데이터베이스 Stat/event 분석

SQL 실행 계획 분석

1. 트랜잭션 → Call Tree 분석 → Method 소스 분석 2. 트랜잭션 → SQL 응답시간 분석 → 데이터베이스 Stat/event분석

→ SQL 실행 계획 분석 → Bind 변수 값 확인

Exception 발생 원인 분석

트랜잭션 수행 중 Exception이 발생하는 경우 Stack Trace를

수집하여 원인 분석에 활용할 수 있습니다.

Call Tree를 통한 로직 분석

트랜잭션 수행 중 호출된 Method 정보를 모두 수집하여 어느

Method에서 수행이 지연되었는지 확인 가능하며 소스보기를

통하여 실제 로직 이상여부도 점검할 수 있습니다.

Page 14: Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청

13

실시간 알람

모니터링 가능한 모든 지표(GC 알람, Connection Leak 알람, URL 에러 알람, 각종 Stat 알람)에 대하여 통합적으로 알람 설정이 가능하

고, 외부 SMS 연계 기능이 제공되어 장애 발생 전후 즉시 알 수 있습니다.

실시간 알람

Script Alert

Log Filter

URL Check

SMS Schedule

부하량 제어 기능

일시적인 사용자 폭주 시, 특정 페이지에 대하여 요청률에 따

라 리다이렉션 여부를 지정할 수 있어 전체 시스템 장애를 방

지할 수 있습니다.

과도한 Fetch 알람 기능

일정 수준 이상의 DB Fetch 작업은 WAS 메모리 사용률을 증가시

켜 전체 서비스에 악영향을 끼칠 수 있습니다. 개별 트랜잭션 단위로

Fetch count 알람을 설정할 수 있으며, 강제로 Exception을 발생시

켜 메모리 이슈를 사전에 방지할 수 있습니다.

Thread 관리 기능

특정 WAS Thread가 성능상 안 좋은 영향을 미치는 경우 종료

시키거나 일시 정지가 가능하도록 기능을 제공하여 긴급조치에

활용할 수 있습니다.

운영관리

Alert Group

12 l

Page 15: Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청

Transaction Performance Maximizer InterMax

DB Monitoring DB 서버의 주요 성능지표·대기 정보·Active Session에 대한 정보를 제공하며, Lock 발생 시 실시간으로 Lock Tree를 제공하

여 트랜잭션 Lock에 대한 문제상황을 직관적으로 파악할 수 있습니다.

DB Stat, Wait 정보

WAS와 연결되어 있는 DB의 OS Stat, Stat, Wait 지표를 추가

적으로 제공하여 트랜잭션 처리 지연 발생시 DB와의 연관관계

를 파악하고 원인분석에 활용할 수 있으며, 실시간으로 DB의

상태를 모니터링 할 수 있습니다.

Global Lock Tree 정보

Oracle RAC 구성 환경에서 Global Lock 발생시 Tree 형태로

Holder와 Waiter 정보를 제공하며, 해당 Session을 사용하는

WAS 트랜잭션을 연계 분석하여 실시간으로 영향도를 파악할

수 있고 즉각적인 조치를 취할 수 있습니다.

DB Trend 정보

지정한 시간대의 DB주요 성능 지표, 대기 이벤트와 Active

Session 등 지난 이력을 조회하여, 사용자가 이슈 시점 파악과

정확한 원인 분석이 가능하도록 도와줍니다.

Active Session 목록

DB의 Active session 데이터를 제공하여 DB 구간에서의 쿼리

지연이나 장애 발생시 모니터링 및 원인 분석에 활용 할 수 있

습니다.

DB Monitoring

Page 16: Transaction Performance Maximizer InterMax · 제품을 활용한 효과적인 분석 및 우선 순위 부여 ... URL 별로 Total elapsed time, Min/Max elapsed time, 총 요청

15

사후분석수집·기록된 WAS/DB 의 가동이력을 입체적으로 분석하여 일간 또는 특정구간의 WAS, DB의 성능 추이 및 트랜잭션 현황, 일

량 정보등을 직관적으로 파악할 수 있습니다.

TOP 분석

조회 기간 동안의 TOP Transaction List를 통해 오래 걸리는 트

랜잭션에 대한 수행 통계 정보 확인 후 해당 트랜잭션의 SQL 및

Bind 값을 확인하여 튜닝 시 활용이 가능합니다.

Trend 분석

사후분석

Transaction Trend에서 동일 트랜잭션임에도 SQL 수행시간이 길게 나타나는

경우를 발견합니다.

Wait 이벤트를 대기하고 있는 SQL 확인 결과 FROM 절에 20여개의 테이블(View

포함)이 존재하여 쿼리 수행 시 Hard Parsing에 의한 지연이 발생하는 것으로 판

단, 힌트를 통한 실행계획 고정으로 수행 지연 현상을 해결할 수 있습니다.

해당 트랜잭션의 상세 수행 정보를 확인한 결과 해당 시점에 DB에서 library

cache pin Wait 이벤트를 대기하고 있는 것을 알 수 있습니다.

1

3

2

14 l