아 이게 뭐임!

Connection Pool이 뭐임!!

마로가마따 2021. 7. 8. 08:00

Contents

-       Connection Pool이 뭐임!

-       Connection Pool 어따씀?

-       Connection Pool 왜 씀?

 

Connection Pool이 뭐임!

사용자의 요청에 따라 Connection을 생성하다 보면 많은 수의 연결이 발생했을 때 서버에 과부하가 걸리게 된다. 이러한 상황을 방지하기 위해 미리 일정수의 Connection을 만들어 pool에 담아 뒀다가 사용자의 요청이 발생하면 연결을 해주고 연결 종료 시 pool에 다시 반환하여 보관하는 것이다. 보통의 경우 DB 연결을 하고 결과를 가져온 후에 close 시켜버린다. DB 연결하는 과정은 시간이 많이 소요되는 자원이 비싼 연산이며 성능도 많이 떨어진다. 이러한 문제점을 해결하기 위해 DB Connection pool 사용한다. 비효율적인 Connection ~ Close 반복작업 대신 한번 맺은 DB Connection 바로 닫지 않고 Connection pool 저장한 뒤에 다음 번에 동일한 Connection 요청하면 바로 pool에서 꺼내 제공을 하는 기술이다.

 

Connection Pool 어따씀?

Connection PoolJAVA 프로그램에서 데이터베이스와의 연결을 효율적으로 관리하는 역할을 한다.

 

Connection Pool이 왜 씀?

애플리케이션은 정보 저장이 필요할 주로 DB 이용한다. JAVA에서 데이터베이스로 Connection 맺는 일은 매우 느리며 자원을 많이 소모한다. 다수의 사용자들이 동시에 데이터베이스의 Connection 요구한다면 서버가 다운되기도 한다. 이것을 해결하기 위해 Connection Pool 이용한다.

미리 Connection 객체들을 생성해두면 사용자는 요청 빠르게 데이터베이스에 젖ㅂ속할 있다.

데이터베이스 Connection 수를 제한할 있어 서버의 자원 고갈을 막을 있다.

데이터베이스 접속 모듈을 공통화해 서버의 환경이 바뀔 경우 유지보수를 쉽게 할 수 있다.

연결이 끝난 Connection을 재사용함으로써 새로 객체를 만드는 비용을 줄일 수 있다.

 

 

반응형

'아 이게 뭐임!' 카테고리의 다른 글

HeidiSQL이 뭐임!  (0) 2021.07.09
싱글톤이 뭐임!!  (0) 2021.07.08
WinSCP가 뭐임!  (0) 2021.07.07
SQL developer가 뭐임!  (0) 2021.07.06
Web.xml이 뭐임!  (0) 2021.07.05