728x90
반응형
SMALL
커넥션 풀을 설명하기 앞서 DB를 사용하는 과정을 간략히 이야기 하겠다.
1. DB 드라이버를 로딩한다.
2. DB서버를 접근하기 위한 커넥션 객체를 생성한다.
3. preparedstatement을 통하여 쿼리를 적용한다.
4. 쿼리 적용 후 resultset이라는 객체를 통해 데이터를 얻는다.
5. 쿼리 동작 후에는 close를 통하여 리소스를 반환한다.
여러 클라이언트에서 request를 할 때마다 DB서버에 접속을 하다보면 나중에는 웹 어플리케이션이 다운되는 상황까지 올 수도 있다.
이러한 문제점을 방지하기 위해 생긴 것이 커넥션 풀(connection pool) 이다.
첨부 : https://www.ibm.com/developerworks/data/library/techarticle/dm-1105fivemethods/index.html
커넥션 풀이란 풀(pool)이라는 공간에 미리 커넥션 객체를 만들어, 클라이언트에서부터 요청을 받을 때마다 생성과 반환하는 시간 비용을 줄여주는 기법이
다. 그럼으로써 데이버베이스에 대한 부하를 줄여주고 연결 관리가 쉽게 할 수 있는 장점을 가지고 있다.
서버에서 풀 갯수를 정할 수 있는데 풀 갯수가 너무 많으면 메모리 소모가 클 것이며 너무 작아도 대기시간이 길어지기 때문에 웹에 얼마나 사람들이 접속
을 하는지 판단을 하고 갯수를 정해야 한다.
728x90
반응형
LIST
'Database' 카테고리의 다른 글
데이터베이스 인덱싱의 이해: 인덱스의 장단점 깊게 알아보기 (0) | 2023.07.10 |
---|---|
mysql에서 백업 후 다른 곳으로 옮기기(mysqldump) (0) | 2018.10.05 |
mysql 컴파일 설치 (0) | 2018.09.30 |
정규화(normalization) (0) | 2018.03.10 |