Weblogic에서 timeout 관련 많이 쓰이는 설정들에 대한 정리 글
1. Session Timeout
세션 정보에 대한 타임아웃 값 설정.
- WEB-INF/web.xml 설정 : default는 30분(단위 [minute]).
<session-config>
<session-timeout>60</session-timeout>
</session-config>
- WEB-INF/weblogic.xml 설정 : default는 3600 (단위 [second]). web.xml 설정 값이 우선되기에, 무시될 수 있음.
<session-descriptor>
<timeout-secs>3600</timeout-secs>
</session-descriptor>
2. HTTP Timeout
Web Server과의 연결 시 타임아웃 값 설정.
- OHS ~ Weblogic 기준 : config/.../mod_wl.conf에 설정
- ConnectTimeoutSecs : Weblogic host에 플러그인을 시도하는 시간의 최대 값 (default 10)
- WLIOTimeoutSecs : Weblogic에 요청 후 기다리는 시간. (Servlet 수행 시간 & JTA Timeout보다 크게 설정해야 함) (default 300)
- WLSocketTimeoutSecs : 접속 중 socket time out 시간 설정 (default 2 [0보다 커야 함])
============================================================================
ConnectionTimeout vs SocketTimeout
=> 3-way Handshake를 사용하는 TCP Connection 중 Client -> Server -> Client > Server -> Client까지의 모든 과정 을 ConnectionTimeout이다. 반면 SocketTimeout이란 Server가 데이터를 Client로 보낼 때, 패킷을 여러개로 나눠서 전송하게 되는데. 각 패킷이 전송될 때의 Gap 임계치를 의미.
※ 두 가지를 설정하지 않으면 특정 URL 접속 시 무한 대기할 가능성이 생김.
============================================================================
3. JTA Timeout
JTA 관련 타임아웃 값 설정.
Weblogic console > domain명 > 구성 > JTA에서 설정 가능
- 시간 초과 : 활성 트랜잭션이 2단계 commit transaction 중 첫번째 단계에서 허용하는 최대 시간(초) (default 30)
- 중단 시간 초과 : 트랜잭션 관리자가 2단계 커밋 트랜잭션의 두번째 단계를 완료하기 위해 시도할 수 있는
최대 시간(초) (default 86400)
4. Data Source Timeout
JDBC connection 관련 타임아웃 값.
Weblogic Console > 서비스 > 데이터 소스 > JDBC name > 구성 > 접속 풀 > 고급 > '테스트 빈도'에서 설정 가능
- 테스트 빈도 : WebLogic Server 인스턴스가 사용되지 않는 접속을 테스트하려고 시도할 때 기다리는 간격(초) (default 120)
5. JOLT Timeout
JOLT (Tuxedo를 쉽게 변환하여 Tuxedo application 내 서비스들을 일반 브라우저 고객들한테 제공) 관련 타임아웃 값.
Weblogic Console > 상호 운용성 > Jolt 접속 풀 > Jolt name > 구성 > 일반 > '수신 시간 초과'에서 설정 가능
- 수신 시간 초과 : 클라이언트가 시간이 초과되기 전까지 응답을 기다리는 시간(초) (default 0)
============================================================================
### JVM Option
** Script의 JVM Option
<Weblogic JAVA Option 사용>
-Dweblogic.https.client.defaultConnectTimeout=xxxx milisecs
-Dweblogic.https.client.defaultReadTimeout=xxxx milisecs
-Dweblogic.http.client.defaultReadTimeout=xxxx milisecs
-Dweblogic.http.client.defaultConnectTimeout=xxxx milisecs
============================================================================
Connection Timeout vs Read Timeout
- Connection Timeout : Server 자체에 Client가 어떠한 이유로 접근에 실패하면 적용되는 옵션.
- Read Timeout : Server에 Client가 접속은 했으나, Server가 로직을 수행하는 시간이 너무 길어 Client가 연결을 해제하는 것
============================================================================
** Weblogic Console > 환경 > 서버 > Server name > 구성 > 서버 시작 > 인수 부분에 작성
<Sun HTTP Handler 사용>
-Dweblogic.webservice.UseWebLogicURLStreamHandler=false
-DUseSunHttpHandler=true
-Dsun.net.client.defaultConnectTimeout=xxxx milisecs
-Dsun.net.client.defaultReadTimeout=xxxx milisecs
** JDBC 관련 read
oracle.jdbc.ReadTimeout=milliseconds
>>>server.properties에서 수정
'Oracle > Weblogic' 카테고리의 다른 글
Weblogic 점검 방법 (0) | 2022.02.23 |
---|---|
WebLogic log time format (0) | 2022.02.23 |
Weblogic JTA 설정 (0) | 2022.02.17 |
Archive Configuration Count 설정 (0) | 2022.01.27 |
Weblogic 11g bsu patch (0) | 2022.01.17 |