커넥션 풀(Connection Pool)은 데이터베이스와의 연결을 효율적으로 관리하기 위한 미리 생성된 데이터베이스 연결(Connection)의 집합입니다. 애플리케이션이 데이터베이스에 연결할 때마다 새로운 커넥션을 생성하고 닫으면 성능 저하가 발생할 수 있기 때문에, 이러한 과정을 최적화하기 위해 커넥션 풀을 사용합니다. 커넥션 풀은 미리 일정 수의 커넥션을 준비해 두고, 애플리케이션이 요청할 때 즉시 사용할 수 있도록 하여 성능을 향상시킵니다.
1. 풀 초기화: 애플리케이션 시작 시 미리 일정 수의 데이터베이스 커넥션을 생성해 풀에 넣습니다.
2. 커넥션 요청 및 할당: 애플리케이션이 데이터베이스에 접근하려고 할 때, 커넥션 풀에서 사용 가능한 커넥션을 할당합니다.
3. 커넥션 반환: 사용이 끝난 커넥션은 닫지 않고 풀로 반환하여 재사용할 수 있도록 합니다.
4. 풀 관리: 커넥션 풀은 최소 및 최대 커넥션 수를 설정하여, 필요 시 새로운 커넥션을 추가로 생성하거나 사용하지 않는 커넥션을 닫습니다.