Slide 1

Similar documents
No Slide Title

untitled

[Brochure] KOR_TunA

Intro to Servlet, EJB, JSP, WS

untitled

Chap7.PDF

J2EE & Web Services iSeminar

PowerPoint 프레젠테이션

Interstage4 설치가이드

untitled

Interstage5 SOAP서비스 설정 가이드

JVM 메모리구조

1

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

untitled

Apache2 + Tomcat 5 + JK2 를 사용한 로드밸런싱과 세션 복제 클러스터링 사이트 구축

PCServerMgmt7

Intra_DW_Ch4.PDF

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

교육2 ? 그림


WebSphere Platform 하의 개발가이드

<49534F C0CEC1F520BBE7C8C4BDC9BBE720C4C1BCB3C6C320B9D D20BDC3BDBAC5DB20B0EDB5B5C8AD20C1A6BEC8BFE4C3BBBCAD2E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Cache_cny.ppt [읽기 전용]

1

PowerPoint 프레젠테이션

Corporate PPT Template

Microsoft Word - Jeus_System_Architecture.doc

untitled

서현수


Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인 웹 확장 아키텍처는 높은 수준의 안정성을 보장하기 위해 복잡한 솔루션으로 구현

thesis

슬라이드 1

chapter1,2.doc

[Brochure] KOR_LENA WAS_

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

J2EE Concepts

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

1217 WebTrafMon II



KYO_SCCD.PDF

Cloud Friendly System Architecture

歯이시홍).PDF

SMB_ICMP_UDP(huichang).PDF

Network seminar.key

Agenda 오픈소스 트렌드 전망 Red Hat Enterprise Virtualization Red Hat Enterprise Linux OpenStack Platform Open Hybrid Cloud

<목 차 > 제 1장 일반사항 4 I.사업의 개요 4 1.사업명 4 2.사업의 목적 4 3.입찰 방식 4 4.입찰 참가 자격 4 5.사업 및 계약 기간 5 6.추진 일정 6 7.사업 범위 및 내용 6 II.사업시행 주요 요건 8 1.사업시행 조건 8 2.계약보증 9 3

Microsoft Word - s.doc

Class Loader 엑셈컨설팅본부 /APM 팀김다운 개요 클래스 loader 는자바의기능중하나로써런타임에클래스파일을찾고로딩하는임무를맡는다. WAS 마다 Class Loading 의방식에조금씩차이가있으며, Intermax 설치시에 classpath 옵션을 WAS 에추

KNOM_Conference_2008_start.ppt

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

목 차

The Self-Managing Database : Automatic Health Monitoring and Alerting

슬라이드 1

PowerPoint 프레젠테이션

슬라이드 1

TTA Journal No.157_서체변경.indd

초보자를 위한 ADO 21일 완성

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

단계

Portal_9iAS.ppt [읽기 전용]

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F31C2F7BDC32E >

Microsoft PowerPoint - Tech-iSeminar_9iAS_OAS10g_PBT.ppt

C# Programming Guide - Types

APOGEE Insight_KR_Base_3P11

PowerPoint Presentation

슬라이드 1

Oracle9i Real Application Clusters

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

歯부장

6주차.key

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

6강.hwp

요약 1

vm-웨어-01장

Microsoft PowerPoint - JBossASTunning4BP.ppt

RED HAT JBoss Data Grid (JDG)? KANGWUK HEO Middleware Solu6on Architect Service Team, Red Hat Korea 1

1.LAN의 특징과 각종 방식

.

160322_ADOP 상품 소개서_1.0

Backup Exec

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다.

final_thesis

untitled

본 강의에 들어가기 전

untitled

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

TIT 기술지원

DocsPin_Korean.pages

Runtime Data Areas 엑셈컨설팅본부 /APM 팀임대호 Runtime Data Area 구조 Runtime Data Area 는 JVM 이프로그램을수행하기위해할당받는메모리영역이라고할수있다. 실제 WAS 성능문제에직면했을때, 대부분의문제점은 Runtime Da

10.ppt

슬라이드 1

02 C h a p t e r Java

Transcription:

J2EE 어플리케이션문제해결방법론 차의중 IBM Korea WebSphere Field Technical Sales Support ejcha@kr.ibm.com

선결조건

문제해결에임하는자세 3 침착하라 -심호흡 -Operating은천천히, 또박또박 혼자해결하려하지마라 -물어보라 -찾아보라 -확인하라 필요한최소한의인원만을곁에두어라 -파트별엔지니어, 어플리케이션개발자 메모하라 -시간, 행위 ( 자세히 )

대안의준비 4 기술적해결만이최선이아니다 -목표의선회, 업무적해결 넓게보라 -문제는어디서든일어날수있고, 누구든일으킬수있다 -정공법만이최선이아니다 단계별한계시간과향후전략을미리정해두라

문제의구체화

담당자의구체화 6 기술적담당자관리자 -어플리케이션, 시스템, 데이터베이스 개발자 -설계, 코딩 업무적담당자 -전체책임자, 어플리케이션책임자, 현업담당자 지원담당자솔류션판매자, 컨설턴트 -영업대표, 엔지니어 *** 그문제에대한담당자지정필요 ***

증상의구체화 7 ex) 느려진다 어디서측정했는가, 어느구간을측정했나, 뭘로측정했는가 얼마나느린가 ( 평소 X 초, 문제시 Y 초 ) Ex) 응답이없다 Ex) 죽는다 뭐가응답이없는가 ( 특정서비스, 어플리케이션, 서버, 데이터베이스, 시스템전체 ) 응답이아예없는건가, 너무느린건가 뭐가죽는가 (OS/ 프로세스 / 웹서버 /JVM/ 어플리케이션 ) 어떻게하고죽는가 ( 로그, Core dump, 특이증상없음 )

증상의구체화 (Cont.) 8 Ex) 이상하게동작한다정상일때는어떤가 / 지금은어떤가화면이전혀안보이나다른사람의데이터가나오나이상하게가공된데이터가나오나글자나이미지가깨졌나어느부분이이상한가전체가이상한가 / 특정부분이이상한가

시간의구체화 9 언제발생했는가 얼마나자주발생하는가 그때만되면발생하는가 증상이시간에따라변화하는가, 어떻게변화하는가 다른날과비교해서다른점이있는가 -코드, 설정, 환경, 사용자수, 특정작업의호출수사용자의성향, 데이터의양

조작사항의구체화 10 뭘어떻게했을때발생하는가 그렇게하기만하면발생하는가

변경사항의구체화 11 상황이변화되었나 어떤상황이변화되었나 - 사용자수, 특정작업의호출빈도, 사용자의성향, 데이터의양 손댔나누가손댔나뭘손댔나 -코드, 설정, 환경, 패치 어떻게손댔나 -추가, 삭제, 변경

로깅및모니터링

로깅및모니터링시유의점 13 장애전부터이미시작되었어야한다. -제품 Install 시부터시작되어야한다. WAS 뿐만아니라기타자원까지로깅 / 모니터링하라 -OS, Web Server, DB,Network,Firewall 충분히많은양을로깅 / 모니터링하라 -Stress Test시에 Disk Busy 가심하지않을정도 장애시점및그를약간전후한시간대의모든자원을의심하라

14 GUI 모니터링툴및분석툴 JVM, 컨테이너, OS 내자원의운용상황, 시간적변동상황, 다양한분석 모듈별응답시간, 스레드상태 Ex)WebSphere

로그파일 15 장애상황, 운영상황, 로직흐름, 장애지점, 장애내용, 기타런타임환경의상세내용 Ex)WebSphere SystemOut.log, SystemError.log, native.log, Access_log, error_log Core, java core <= 장애시점의메모리, 스레드상태 -http://www.javaservice.net

기타 16 OS 레벨자원운용상황 -topas, glance, vmstat - 특히, Memory 운용상황은 OS 레벨에서의측정치와 JVM 내부의실제운영치가다르므로반드시 JVM 레벨에서모니터링필요 특정포트간커넥션수실시간모니터링 -mon.sh ( 이원영 ) 현재구동중인웹페이지들보기 -requestmon.jsp JVM Heap 모니터링 -mem.jsp, m.jsp ( 이원영 ) http://www.javaservice.net

필수지식들

18 컴포넌트아키텍쳐 컴포넌트? 컨테이너의관리 / 도움하에서작업을수행하는사용자모듈 컨테이너? 컴포넌트의동작을관리하고도와주는엔진 ( 모듈들의집합 ) 모듈? 클래스 / 인터페이스 - in Java 컴포넌트컴포넌트 EIS EIS 컨테이너

J2EE 아키텍쳐 19 EIS

WAS 아키텍쳐 20 Ex)WebSphere V5

HTTP 요청의흐름 21 Ex)WebSphere V5 WebSphere Application Server Web server plugin listening HTTP port Thread Web container get Thread pool Worker Thread Util Servlet class User logic Transform/compile J D B C C x DB JSP

EJB 요청의흐름 (Remote home call) 22 WebSphere Application Server J Naming service Port get lookup Naming service ORB Port EJB container get listening Thread ORB Thread Tie Thread pool Home Impl Create find Call back D B C C x EJB class User logic DB stub remote interface stub Home interface 클라이언트

EJB 요청의흐름 (Remote EJB Call) 23 WebSphere Application Server EJB container J D B C C x DB ORB Thread Tie Bean Impl Business method Call back EJB class User logic stub Remote interface Businessmethod 클라이언트

JDBC 호출의흐름 Ex)WebSphere V5 24 Naming service DataSource Thread Connection pool User class Prepared statement J D B C C x DB Prepared statement cache Tx Mgr

자원의운용방식 - Pooling 25 Min size Max size EJB Instance pool Servlet thread pool, ORB thread pool Other parameters -Ex)WebSphere V5 -스레드비활동제한시간 -최대크기를초과한할당허용여부 JDBC Connection pool other parameters -Ex)WebSphere V5 -연결제한시간 -Reap 시간 -유효제한시간 -미사용제한시간 -제거정책

자원의운용방식 - Caching Ex)WebSphere V5 Hashtable Connection caching Prepared Statement caching Key Object Size 26 Data caching other parameters Ex)WebSphere -기본우선순위 - 디스크오프로드

27 자원의운용방식 - Transaction Global Transaction, Local Transaction Transaction aware object 의종류 -EJB, JDBC Connection : Transaction aware -Etc : Trasaction not aware XADataSource, Non-XA DataSource Resource Locking EJB Transaction Spec -EJB Transaction Attribute -Transaction Scope -Transaction Rollback condition -Transaction Isolation Level

Clustering 28 Ex)WebSphere V5 HTTP(s) Edge Component L4 Switch HTTP(s) HTTP Server Plugin HTTP Server Plugin Plugin HTTP Server HTTP(s) Web Web Container Web Container App Server Container App Server ORB App Server ORB ORB Java Client ORB IIOP EJB EJB Container App Server EJB Container Container App Server App Server DB

Http Session clustering 29 Ex)WebSphere V5 S.id- xxxxxxxxxx web server app server app server app server app server A B C D session cache session cache session cache session cache DB Database persistence database persistence Memory to Memory Replication S.id- xxxxxxxxxx web server S.id- xxxxxxxxxx web server app server app server app server app server A B C D session cache session cache session cache session cache app server app server app server app server A B C D session cache session cache session cache session cache Peer-to-Peer 방식 App svr App svr Client-Server 방식

Firewall 30

31 J2EE App = Java App J2EE 컨테이너, 컴포넌트, J2EE 어플리케이션은 JVM 위에서돌아가는하나의자바어플리케이션일뿐이다. JVM,JRE,JDK 에대한이해는 J2EE 컨테이너의동작을이해하는데있어서필수 -JVM 의확장옵션, GC 알고리즘등몇가지동작은 OS 별, 버전별로다르다.

32 J2EE App = Java App JVM 이하는일 Binary Code Analysis Heap, Stack 운영 Garbage Collection JVM 에의존적 (JVM 의기능을그대로이용 ) Binary Code Loading Object Loading, Linking 상당부분컨테이너에의존적 (ClassLoader Customizing)

JVM and J2EE 컨테이너 33 다음의조작을통해 JVM의런타임동작에영향을줄수있다. JVM에대한런타임파라메터추가 / 변경 JVM/JDK의버전변경 JDK의라이브러리변경 ( 디컴파일-> 변경-> 재컴파일 ) 및패치 컨테이너의기능, 성능, 안정성에영향

34 JVM and J2EE 컨테이너 JVM 런타임파라메터의추가 / 변경방법 컨테이너에종속적 툴을이용하는방법 환경변수나서버구동용쉘파일을직접수정 @REM set DEBUG=-Djava.compiler=NONE -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=7777 "%JAVA_HOME% bin java" %WAS_TRACE% %DEBUG% %CONSOLE_ENCODING% "%CLIENTSAS%" "- classpath" "%WAS_CLASSPATH%" "-Dws.ext.dirs=%WAS_EXT_DIRS%" %USER_INSTALL_PROP% "- Dwas.install.root=%WAS_HOME%" "com.ibm.ws.bootstrap.wslauncher" "com.ibm.ws.management.tools.wsserverlauncher" "%CONFIG_RO OT%" "%WAS_CELL%" "%WAS_NODE%" %*

35 기타 TCP/IP 이론 OS Memory, virtual memory 운용 UNIX Shell, Shell Script, DOS Script