티스토리 뷰
현재 운영중인 사이트에서 운영장비에 Hot Deploy 를 가능케 해달라는 어이없는 요청을 받고, 적용불가라는 의견을 제출하기 위해 정리하기 위해 스프링노트에 올렸던 글로 블로그로 옮겨왔음.
Hot Deploy 의 장점
1. 서버의 재기동 없이 신속한 적용이 가능하므로 배치에서 테스트까지 기간을 단축시킬 수 있음
2. 어플리케이션 오류로 인한 장애발생시 단 시간내에 조치가 가능함
Hot Deploy 의 단점
1. Hot deploy 라는 개념은 개발 편의성을 위해 Vendor에서 제공하는 것이지 J2EE spec에 명시되지 않았으므로 Vendor 마다 동작방식이 다를 수 있고 그에 대한 side-effect 를 예상하기 어렵다.
J2EE Server 에서 Hot Deploy 시의 영향에 관한 내용
A. servlet-engine 에서의 문제
(1) class reloading 옵션을 제공하는 서블릿 엔진의 경우 해당 클래스에 접근할 때마다 image 의 버전체크를 수행하기 때문에 운영환경에서의 성능저하 현상이 발생할 수 있다.
(2) 순서대로 기존 image 를 unloading 하고 새로운 image를 loading 하는 방식이 아니기 때문에 불필요한 메모리 영역(Permanent Area)을 점유하게 되며 이러한 작업이 반복될 경우 발생하지 않아도 될 Permanent Area의 Unloading 을 위한 Full GC 발생으로 성능저하 현상이 발생할 수 있다.
B. ejb-engine 에서의 문제
(1) 상당히 긴 시간을 소비하는 여러 트랜잭션을 순차적으로 수행중일 경우, hot deploy 에 의한 그 안전성을 보장할 수 없다.
(2) 여러개의 ejb 컨테이너를 사용할 경우 동시에 여러 ejb가 redeploy 될 경우 시스템 리소스(CPU, I/O)를 순간적으로 많이 사용할 가능성이 높으며 따라서 성능저하 및 정상적인 서비스에 어려움을 겪을 수 있다.
(3) 보통 undeploy, deploy 과정을 진행하는데, Hot Deploy 시 순간적으로 undeploy 된 모듈을 호출할 경우 NullPointerException 발생 가능.
Hot Deploy 에도 전혀 문제가 없다고 밝혀진 J2EE 서버
JVM의 동작원리로 예상컨데 이 글을 작성하는 시점인 2007.04.05. 현재까지는 현존하는 거의 모든 WAS 가 다 문제가 있다고 판단됨
Hot Deploy 시에 문제가 발생한 J2EE 서버
1. Jeus 4.2.2.x & 4.2.3.x
(1) 5.x 버전이나 위에 적지 않은 버전의 경우 확인되지 않음
(2) 문제점은 servlet file의 지속적인 reloading 시 Permanent Area 가 누적되는 현상을 경험했으며, 사용량과 hot deploy 횟수에 비례해서 증가
(3) Premanent Full GC가 발생하더라도 깨끗하게 clear 되지 않는 현상 발견
(4) Struts 초기 버전에서 이런 현상이 bug 로 보고되었으나 현재는 수정된 상황으로 servlet engine에서 발생하는 문제로 추정됨.
'개발이야기' 카테고리의 다른 글
[Java : Coding Conventions ] #2 Negative logic 을 사용하지 마라 (0) | 2007.07.13 |
---|---|
[Java : Coding Conventions ] #1 중첩된 표현식을 사용하지 말것. (0) | 2007.07.13 |
[JavaScript] Browser 구분하기 (0) | 2007.07.11 |
[HP-UX] DNS 서버 설정. (0) | 2007.07.02 |
[HP-UX] crontab 사용시 삽질 경험. (0) | 2007.06.30 |
[JScript] 로컬 PC의 특정 디렉토리 접근하기. (0) | 2007.06.20 |
- Total
- Today
- Yesterday
- hp-ux
- 파생
- coding standard
- SharedSection
- ActiveX
- VMware
- websocket
- WsServerContainer
- 의왕
- JavaScript
- logback
- 채권
- CODSTA
- 이표채
- Internet Explorer 7
- 이미지
- Microsoft
- 미투데이
- qaos.com
- GDIProcessHandleQuota
- WebLogic
- JTest
- prudent
- 웹표준
- 할인채
- TyrusServerContainer
- Java
- 본사
- Windows
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |