본문 바로가기
WAS/JBOSS_WILDFLY

10. Connection Pool 설정 및 validation 설정

by coldplayer83 2023. 11. 10.
728x90
반응형

1. Connection Pool 설정

설정할 데이터 소스 VIEW 클릭

 

Pool 탭에서 설정 가능

 

 

2. validation 설정

- DB의 일시적 장애시 데이터베이스와의 연결 검증. 데이터베이스 재연결 관리

 

https://docs.redhat.com/ko/documentation/red_hat_jboss_enterprise_application_platform/7.4/html/configuration_guide/configure_database_connection_validation_settings

 

12.9. 데이터베이스 연결 유효성 검사 | Configuration Guide | Red Hat JBoss Enterprise Application Platform | 7.4 | R

Red Hat JBoss Enterprise Application Platform 형식멀티 페이지단일 페이지모든 문서를 PDF로 표시

docs.redhat.com

 

 

옵션)

validate-on match

true로 설정하면 커넥션풀 연결이 끊길 때마다 연결 검증을 수행

연결이 유효하지 않으면 로그에 기록되고 풀에서 다음 유효한 연결을 찾을 때까지 검색 수행

 

use-fast-fail

풀의 모든 연결을 순환하지 않도록 설정

이 설정은 가장 빠른 복구가 가능하지만 데이터베이스에 가장 높은 로드를 생성하기 때문에 성능 저하에 문제가 되지 않는 경우 선택

 

background-validation

true로 설정하면 사용하기 전 백그라운드 스레드에서 연결이 주기적으로 검증됨

=> 백그라운드 유효성 검사 실행

 

background-validation-millis

background-validation 검증 빈도 설정

기본값 0밀리초

 

설정시 고려 사항)

idle-timeout-minutes와 동일한 값으로 설정하면 안됨

값이 작을수록 검사 빈도가 많고, 더 빨리 풀에서 유효하지 않은 연결이 제거됨

값이 작을수록 더 많은 데이터베이스 리소스가 필요. 값이 클수록 커넥션 유효성 검사 횟수가 줄어들고 데이터베이스 리소스 사용이 줄어듦

단절된 연결은 더 이상 탐지되지 않

 

!! validate-on-match 옵션이 true로 설정되어 있으면 background-validation은 false로 설정해야 함

반대의 경우도 마찬가지!!

(웹로직은 둘 다 동시에 사용 가능함)

 


 

Valid Connection 체크는 SQL, class명 두 가지로 체크할 수 있음

 

[CLASS]

oracle DB)

class : org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker

 

DB2)

org.jboss.jca.adapters.jdbc.extensions.db2.DB2ValidConnectionChecker

 

MSSQL)
org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker

 

MySQL, MariaDB)
org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLReplicationValidConnectionChecker

- Replication 환경용


org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker

- 단일 MySQL 서버에서 사용

 

공통)

org.jboss.jca.adapters.jdbc.extensions.novendor.JDBC4ValidConnectionChecker

- jdbc 4.0 표준 api를 사용하는 커넥션 체크 클래스

- 특정 db 드라이버에 의존하지 않고 jdbc 4.0 이상 드라이버면 대부분 사용 가능


org.jboss.jca.adapters.jdbc.extensions.novendor.NullValidConnectionChecker

- 유효성 검사를 하지 않음. 끊긴 커넥션 풀을 걸러낼 수 없음

- 성능 최적화를 위해 의도적으로 체크 끌 때 사용

 

PostgreSQL, EDB)
org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker

 

Sybase)
org.jboss.jca.adapters.jdbc.extensions.sybase.SybaseValidConnectionChecker

 

[SQL]

ORACLE)

select 1 from dual

 

MySQL, PostgreSQL)

select 1

728x90
반응형