728x90
커넥션 풀(Connection Pool)
- WAS가 실행될 때 DB와 연결된 일정량의 커넥션 객체를 만들어 풀에 담아 놓았다가 사용자의 요청이 발생하면 풀에 있는 커넥션 객체를 빌려주고 사용이 끝나면 다시 반납받아 보관하는 기법이다.
웹 애플리케이션에 커넥션 풀을 사용하면?
서버의 부하 감소
- 자바에서 DB 커넥션을 맺는 과정은 부하를 많이 필요로 한다. 동시에 많은 DB 커넥션 요청이 들어오면 서버가 죽는 문제가 발생할 수도 있다. 이를 해결하기 위해 미리 커넥션을 생성하고 재활용하여 서버의 부하를 줄이는 것이다.
서버의 한정적인 자원을 효율적으로 사용
- 서버는 분명 한정된 자원을 가지고 있다. 만약 이를 무시하고 무제한으로 커넥션을 생성하게 되면 전체 시스템에 문제가 생길 수도 있다. 때문에 커넥션 풀을 통해 미리 커넥션을 일정량 생성하여 관리하는 것이다.
자바 스프링에서의 커넥션 풀
- 스프링부트 2.0부터 기본적으로 HikariCP를 사용한다.
DB 커넥션 풀 관리
- 애플리케이션을 실제 운영할 시스템 환경에서 성능 테스트를 진행하여 시스템에 최적화된 풀의 개수를 설정하는 것이 좋다.
참고
728x90
'넓고 얕은 데이터베이스 지식' 카테고리의 다른 글
EAV 모델에 대해 간단히 알아보자 (0) | 2023.07.23 |
---|---|
Spring Boot에서 H2 DB 3 가지 모드로 사용하는 방법 정리 (0) | 2023.06.20 |
정규화(Normalization) 5분 요약 정리 (0) | 2023.02.19 |
데이터베이스 파티셔닝(Partitioning)과 샤딩(Sharding) 1분 요약 정리 (2) | 2023.01.24 |
초보 개발자도 쉽게 이해할 수 있는 쿼리 최적화 방법 (0) | 2023.01.23 |