스마트웹앱콘텐츠전문가/데이터베이스

JDBC Connection Pool

9D4U 2020. 11. 4. 18:22
728x90
반응형

개념 : 각각의 커넥션(DB Connection 객체) 부하(비용 + 시간 포함)를 줄이기 위해 Pool 형태로 묶어 놓은 것
= 커넥션 객체를 미리 생성해 두고 있다가 필요할 때, 풀에서 꺼내쓰고 다시 반환하는 형태

참고 : 오픈소스
-DBCP : commons.apache.org/proper/commons-dbcp/
-C3P0 : www.mchange.com/projects/c3p0/

Connection Pool(이하 커넥션풀)을 효율적으로 관리하기 위한 값들

maxActive - 동시에 사용할 수 있는 최대 커넥션 개수 
maxIdle  - 커넥션 풀에 반납할 때 최대로 유지될 수 있는 커넥션 개수
minIdle  - 최소한 유지할 커넥션 개수 
initialSize  - 최초로 getConnection() 메서드를 통해 커넥션 풀에 채워 넣을 커넥션 개수 

일반적인 커넥션풀 설정
○ maxActive >= initialSize
○ maxActive = maxIdle

 

예시)

jdbc.initSize = 2
jdbc.maxActive = 10
jdbc.maxIdle = 5
jdbc.minIdle = 2
728x90