was가 실행되면서 미리 DB와 연결 해놓은 객체들을 pool에 저장해두었다가
클라이언트 요청이 오면 connection을 빌려주고 처리가 끝나면 이를 반환받아 pool에 다시 저장하는 방식
커넥션 풀 사용 이유
매번 연결 객체를 생성하게되는 경우 비효율적
마치 spring mvc에서 스레드풀을통해 미리 스레드를 만들어두었다가 대응할 수 있도록..
커넥션풀의 특징
1. was가 실행될 때 connection 객체를 미리 생성하고 pool에 저장해둔다
2. 요청에따라 pool에서 connection객체를 가져다 쓰고 반환한다.
3. 이를 통해 데이터베이스 connection부하를 줄일 수 있다.
4. pool에 미리 connection객체를 생성해둠으로써 매 요청마다 생성하지 않고 있는걸 전달함으로써 적은 시간소요
대량의 요청이 발생하는경우
커넥션풀에 생성된 connection객체가 모두 할당이되고 남은게 없다면
사용자는 connection객체가 반환될 때까지 대기
그러면 커넥션풀을 크게 설정하면되지 않느냐?
그만큼 많은 메모리 소모
그러나 커넥션풀을 작게 설정하면 그만큼 대량 요청시 대기시간 증가
커넥션 풀이란
커넥션 풀 사용 이유
커넥션풀의 특징
대량의 요청이 발생하는경우