WAS 126

[개요] 웹로직 셀프튜닝(Self Tuning) 이해

1. 셀프튜닝(Self-Tuning) 개요 웹로직 서버 9 버전에서 새로 추가된 기능이다. 8.1 버전까지는 여러 개의 실행 큐(executed queue)를 기반으로 클라이언트 요청을 관리하고 실행하였다. 하지만 대부분 고객들은 애플리케이션 별도 실행 큐를 생성하지 않고 디폴트 큐인 "weblogic.kernel.default"이름을 가진 1개 실행 큐를 통해 처리하였다. 이러한 디폴트 큐 또는 신규로 생성한 실행 큐는 시스템 부하정도와 처리량(Throughput)에 상관없이 설정된 Executed Thread 갯수 값을 사용하였다. 실행 큐(Execute Queue)마다 스레드 풀(Thread Pool)을 적절하게 설정하는 것이 쉽지 않으며, 최적의 Execute Thread 개수 값을 정하는 것이 ..

WAS/WebLogic 2015.05.14

[TroubleShooting] 스레드(Thread) 이해 및 덤프(dump)

1. 자바 스레드(Thread)란? 스레드(Thread)는 어떠한 프로그램 또는 프로세스에서 실행되는 흐름의 단위라고 할 수 있다. 웹로직과 같은 WAS는 이러한 프로세스 대신에 작은 흐름 단위의 스레드를 생성하여 클라이언트 요청을 멀티스레드(multithread) 방식으로 처리한다. 프로세스에 비해 스레드 방식은 메모리를 공유하기 때문에 적은 자원으로 빠른 성능을 보장하기 때문에 대부분 WAS에서는 스레드 이해와 스레드 덤프에 대해 이해를 해야 한다. 2. 스레드 상태 스레드를 이해하고, 스레드 덤프를 분석하기 위해서는 덤프 내용에 있는 스레드별 상태(아래 표 참조)를 이해해야 한다. 스레드 상태는 아래 다이어그램과 같다. 상태 설명 NEW 스레드는 생성되었으나, 아직 실행하지 않고 있음 RUNNABL..

WAS/WebLogic 2015.05.14

[개요] 클래스 로더(Class Loader) 이해

1. 자바 언어에서 클래스 로더(Class Loader) 정의 및 특징 클래스 로더(Class Loader)는 컴파일 시점(Compile Time)이 아닌 실행 시점(Run Time)에 클래스(Class)를 로딩할 수 있게 해주는 기술이다. 예를 들어, ClassA = new HelloWorld(); 라는 코드를 최초로 실행할 때, 자바 가상 머신(JVM)은 HelloWorld라는 클래스를 클래스 로더를 통해서 메모리에 로드하게 된다. 클래스는 로더는 클래스의 바이트 코드(Bytecode)를 파일 시스템 상의 클래스나, JAR와 같은 아카이브(Archive) 형태로 동적으로 로딩할 수 있도록 지원해준다. 이 클래스 로더는 기술적으로 아래와 같은 특징을 가지고 있다. 계층적(Hierarchical) : 클..

WAS/WebLogic 2015.05.13

[Tips] WebLogic 11g 패치(Patch) 방법

Patch 방법은 웹로직 버전에 따라 상이하므로 매뉴얼을 참조하여 해당 버전에 맞는 패치 방법을 적용해야 한다. 여기에서는 웹로직 11g 버전의 패치 방법에 대해 설명하고자 한다.주요 패치 방법은 아래와 같다. 패치 시에 패치파일(압축파일)에 포함되어 있는 README.txt를 반드시 읽어보아야 한다. 예를들어 권장하는 JDK 버전(Minor 번호 포함)이 있을 수 있으므로 사전에 체크해야 한다. smart update를 서버에서 수행하여 패치방법smart update를 PC에서 수행해서 패치한 후에 그 파일을 서버에 올리는 방법커맨드라인 명령어 기반 패치방법$WL_HOME/common/bin/commEnv.sh에 PATCH_CLASSPATH 설정 1. smart update를 서버에서 수행하여 패치방법..

WAS/WebLogic 2015.03.10