본문 바로가기
관련_배경_지식

커넥션 풀이란?

by Lcoding 2023. 11. 10.
반응형

커넥션 풀

커넥션풀이란, 그때그때 세션을 새로 잡기엔 서버에 부하가 많이 찰 수 있어서 미리 세션을 풀에 잡아놓고 필요할때 주고 사용후에는 반납하는 원리이다.
쓰레드 풀과 비슷하다고 보면 될것같다.


적절한 커넥션 풀 숫자는 서비스의 특징과 애플리케이션 서버 스펙, DB 서버 스펙에 따라 다르기 때문에 성능 테스트를 통해서 정해야 하며, 커넥션 풀은 서버당 최대 커넥션 수를 제한할 수 있다. 
따라서 DB에 무한정 연결이 생성되는 것을 막아주어서 DB를 보호하는 효과도 있다. 
커넥션 풀은 개념적으로 단순하기에 직접 구현할 수도 있지만, 사용도 편리하고 성능도 뛰어난 오픈소스 커넥션 풀이 많기 때문에 오픈소스를 사용하는 것이 좋다.
대표적인 커넥션 풀 오픈소스는 commons-dbcp2 , tomcat-jdbc pool , HikariCP 등이 있으며, 
성능과 사용의 편리함 측면에서 최근에는 hikariCP 를 주로 사용한다, 스프링 부트 2.0 부터는 기본 커넥션 풀로 hikariCP 를 제공한다.
성능, 사용의 편리함, 안전성 측면에서 이미 검증이 되었기 때문에 커넥션 풀을 사용할 때는 고민할 것 없이 hikariCP 를 사용하면 된다. 

반응형

loading