애플리케이션과 데이터베이스가 통신하기 위해서는 데이터베이스 커넥션이 필요합니다.
데이터베이스 커넥션 생애주기
- 데이터베이스 드라이버를 사용하여 데이터베이스에 연결
- 데이터 읽기/쓰기를 위한 TCP소켓 열기
- 연결 종료
- 소켓 닫기
커넷션 풀이 없다면 애플리케이션에서 데이터베이스에 접근해야하는 요청을 처리할 때 마다
커넥션을 새로 생성하여 연결, 해제하는 과정을 반복해야 한다.
또 동시에 많은 요청이 들어올 경우 매번 새로운 커넥션을 생성하면, 최대 연결 수를 초과할 수 있다.
데이터베이스 커넥션 풀을 사용함으로써 얻을 수 있는 장점은?
커넥션 풀(Connection Pool) : 애플리케이션과 데이터베이스 간의 데이터베이스 연결을 미리 생성해두고, 이를 재사용하는 기법
> 미리 준비된 연결을 재사용함으로써 성능을 향상, 사용을 최적화할 수 있다.
커넥션 풀 사이즈는 클 수록 좋나요?
커넥션을 사용하는 주체는 스레드(Thread)이기 때문에 커넥션과 스레드를 연결지어 생각해야 한다.
커넥션 풀 사이즈 > 스레드 풀 사이즈 : 스레드가 모두 사용되지 못해서 리소스 낭비
커넥션 풀 사이즈 < 스레드 풀 사이즈 : 스레드가 커넥션이 반환되기를 기다려야 하기 때문에 작업이 지연
'cs(with 매일메일)' 카테고리의 다른 글
| [251001수] 동일성과 동등성에 대해서 설명해주세요 (0) | 2025.10.14 |
|---|---|
| [251014화] 사용자가 웹사이트에 처음 접근했을 때 발생하는 일련의 과정에 대해 설명해 주세요. (0) | 2025.10.14 |
| [250918목] JPA의 N+1문제에 대해서 설명해주세요. (0) | 2025.09.30 |
| [250919금] 자바에서 Checked Exception와 Unchecked Exception에 대해서 설명해주세요. (0) | 2025.09.30 |
| [250930화] equals와 hashCode는 왜 함께 재정의해야 할까요? (0) | 2025.09.30 |