연결 풀 또는 Connection Pool은 소프트웨어 공학에서 데이터베이스로의 추가 요청이 필요할 때 연결을 재 사용할 수 있도록 관리되는 데이터 베이스 연결의 캐시이다.
각 사용자마다 데이터베이스의 연결을 열고 유지보수 하는 것은 비용이 많이 들고 자원을 낭비한다. Connection Pool의 경우 연결이 수립된 이후에 Pool에 위치해 있으므로 다시 사용하면 새로운 연결을 수립할 필요가 없어진다. 모든 연결이 사용 중이면 새로운 연결을 만들고 Pool에 추가된다. 연결 Pool은 사용자가 데이터베이스에 연결을 수립하는데 까지 대기해야 하는 시간을 줄이기도 한다.
다시 말해 데이터베이스와 연결된 Connection을 미리 만들어서 Pool 속에 저장해 두고 있다가 Connection을 Pool에서 쓰고 다시 Pool에 반환하는 기법을 말한다.
미리 생성해 두기 때문에 데이터베이스에 부하를 줄이고 유동적으로 연결을 관리할 수 있습니다.
Connection Pool을 너무 크게 해놓으면 당연히 메모리 소모가 클 것이고, 적게 해 놓으면 Connection이 많이 발생할 경우 대기 시간이 발생하기 때문에 서버 부하에 따라 크기 조정을 해야 합니다.
정리
참고
[위키디피아] : https://ko.wikipedia.org/wiki/%EC%97%B0%EA%B2%B0_%ED%92%80
[불곰] : https://brownbears.tistory.com/289