본문 바로가기

WAS - WebLogic/각종 설정, 에러 조치

[weblogic] Thread Pool 사이즈 지정 가이드

#. config.xml 수정하는 방법을 권장하는 이유 (개인적인 의견)

윈도우 환경에서 서비스에 등록해서 사용할 경우,

윈도우 서비스 등록 스크립트에 thread pool 옵션을 추가해야 한다.

추후 수정해야 할 시 윈도우 서비스를 삭제 후 재등록 해야하는데,

서비스를 운영하고 있는 서버에서 윈도우 서비스를 삭제 후 재등록 하는 작업은 위험부담이 있다.

config.xml 수정하는 것이 유지보수성에 더 적합한 방법이라 생각한다.

 

그 외에는 thread pool 옵션을 기동 스크립트와 config.xml 중 어느 파일에서 관리하는 것이

유지보수성에 더 용이한지 따져봐야 할텐데, 이는 담당자의 취향대로 정하면 될 것.

나는 Admin Console에서 thread pool 값을 확인하고 수정하는 것이 더 편하다 생각함.

 


 

#01. 서버 기동 스크립트 수정하는 방법

서버 기동 스크립트의 JAVA_OPTIONS 에서 지정한다.

-Dweblogic.SelfTuningThreadPoolSizeMin=<value>
-Dweblogic.SelfTuningThreadPoolSizeMax=<value>

 


 

#02. config.xml 수정하는 방법

Admin Console에서 수정한다.

구성 - 튜닝 메뉴의 고급 메뉴로 이동

 

기본값이 min1 / max400 으로 되어있는데,

min 값을 고객사 환경에 따라 적절하게 높혀주면

기동 직후 초기 부하와 thread pool 증가에 따른 부를 줄이는데에 도움이 될 것.

 


 

thread self-tuning 기능은 WebLogic 9에서 추가되었다.

 

부하테스트를 할 때 부하를 천천히 올리지 않고 갑자기 대량으로 발생시킬 경우,

thread 개수가 일정 수에서 늘어나지 않는 문제가 발생할 수 있다 한다.

thread 40개에서 더 이상 올라가지 않는 현상 등이 발생한다고 하는데, 실제로 보지는 못함.

 

Weblogic 스레드 증가하는 알고리즘에서 기존 처리율을 계산해서 올리는데,

처리하기 전에 부하가 많이 들어와서 thread 개수가 증가 되지 않는것으로 보인다.

 

Weblogic 부하테스트를 할 경우

미리 아래와 같이 min max 사이즈를 충분한 값으로 지정해주면 무리 없이 진행할 수 있다.