Database/DB 개념
Connection Pool
ITiing
2020. 2. 21. 15:35
커넥션 풀(Connection Pool)
: 보통 DB에 연결하고 가져온 후 연결을 끊어버리게 되는데, 이러한 과정은 시간이 많이 소요되어 Cost가 많이 들며 퍼포먼스도 떨어진다.
이러한 문제점을 해결하기 위해 DB와 미리 연결해놓은 객체들을 저장한 후, 클라이언트에게 요청이 오면 커넥션을 빌려주고 끝나면 다시 반납받아 저장하는 방식이다.
과정
1) 클라이언트가 서버로 데이터 전달
2) 비즈니스 로직 처리
3) DB와 커넥션 맺은 후, DB에 데이터 저장
4) DB와 커넥션 끊고, 비즈니스 로직 처리
5) 클라이언트에 응답
특징
: Pool (연결 수) 를 너무 크게 잡아놓으면 메모리 소모가 크고, 너무 적으면 반납될때까지 기다려야해서 대기 시간이 길어진다.
웹 사이트에 걸리는 부하에 따라 적정한 크기로 설정해야한다.
종류
1) DB ConnectionMgr.java
2) Oracle Connection Pool
3) Tomcat WAS - DBCP
참조
https://victorydntmd.tistory.com/42