본문 바로가기

WAS/WebLogic

[weblogic] 데이터소스 - Test Connections On Reserve 옵션 가이드

참고한 블로그

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=nomomoo&logNo=50173829812

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kpop4472&logNo=221415589448

https://sarc.io/index.php/miscellaneous/293-weblogic-seconds-to-trust-an-idle-pool-connection

 

참고한 오라클 문서

https://docs.oracle.com/cd/E17904_01/web.1111/e13737/ds_tuning.htm#JDBCA180

https://docs.oracle.com/cd/E13222_01/wls/docs81/ConsoleHelp/jdbc_connection_pools.html

https://docs.oracle.com/middleware/1213/wls/JDBCA/manage.htm#JDBCA262

https://docs.oracle.com/middleware/1213/wls/WLACH/pagehelp/JDBCjdbcdatasourcesjdbcdatasourcemonitortestingtitle.html

 


 

Test Connections On Reserve (예약 시 접속 테스트) 옵션

 

#. 세팅 방법

Default 값은 disabled 이므로, enabled로 변경해 주도록 한다.

"테스트 테이블 이름" 옵션에 Test 쿼리문을 반드시 작성해야 한다.

해당 옵션값이 비어있으면 테스트 진행이 불가하다.

 

테스트 쿼리문은 DB서버별로 상이하므로 주의

 

#. 옵션 개요 및 작동 절차

WebLogic 데이터소스 설정 시 DB Connection 상태를 체크하기 위해 적용하는 옵션.

Test 쿼리를 실행하여 정상 여부를 테스트하는 옵션으로, 권장 옵션이다.

DB Connection 상태에 이상 현상이 확인되면, 기존의 Connection Pool 을 close 하고 다시 create 한다.

 

#.  어떤 문제 상황에서 도움이 되는지

DB 서버에 문제가 발생하여 Down 되었다가 복구되면, DB Connection 상태가 불량해지게 된다.

Connection을 refresh 하여 데이터소스 Connection Pool 상태를 정상화하기 위해 사용한다.

해당 옵션이 활성화 되어있지 않으면 Connection Pool 상태가 불량한 채로 유지되므로, 장애 상황으로 이어진다.

 

#. 해당 옵션 적용으로 인한 영향도

사용자 request가 발생할 때 마다 매번 테스트를 진행한다.

그렇기 때문에 클라이언트의 request를 처리하는 시간은 조금 delay된다.

하지만 "SELECT 1 FROM DUAL", "SQL SELECT 1" 등의 쿼리로 발생하는 delay 정도는 매우 적은 편이므로,

신경 쓸 정도는 아님.



 

Test Frequency Seconds (테스트 빈도) 옵션

 

사용자 request가 없는 동안 사용되지 않는 DB Connection을 테스트하려고 시도하는 간격.

Test Connections On Reserve 옵션과 마찬가지로,

DB Connection 상태에 이상 현상이 확인되면, 기존의 Connection Pool 을 close 하고 다시 create 한다.

 

Default 값은 120초이다.

고객사 환경에 따라 적절하게 수정하도록 한다.

일반적으로 120초보다 길게 세팅하는 편이다.

 

 


 

Seconds to Trust an Idle Pool Connection (유휴 풀 접속 보안 시간) 옵션

 

Test Frequency Seconds 옵션과

Test Connections On Reserve 옵션으로 인하여

발생할 수 있는 부하를 경감시키기 위해 사용한다.

 

어플리케이션에서 커넥션을 정상 사용하고 반납한 경우,

해당 옵션에 세팅한 시간 동안은 유효한 커넥션으로 간주하여 Test 를 Skip 한다는 의미.

 

Default 값은 1초이다.

고객사 환경에 따라 적절하게 수정하도록 한다.

 


 

유의해야 할 사항

 

Test Connections On Reserve 옵션이

장애 상황 자체를 예방해주지는 못한다.

 

해당 옵션은 상태가 불량해진 DB Connection Pool 상태를 정상화 시켜줄 뿐이다.

 

근본적인 문제 해결, 즉 장애 예방을 위해서는

어째서 DB Down 등의 문제가 발생하는지 파악이 필요하다.