Notice
Recent Posts
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 셋업
- 필터체인
- html
- 설치
- 알고리즘
- EL태그
- 버튼
- MySQL
- Oracle
- 깃허브 간단요약
- java
- jstl
- Spring
- 설정
- 마이바티스
- jsp 내부객체
- Eclipse
- 폼태그
- springboot
- 스프링
- 제이쿼리
- 이클립스
- SESSION
- jquery
- 오라클
- 깃허브
- jsp
- 면접
- 자바
- 자바스크립트
Archives
- Today
- Total
은은하게 코드 뿌시기
커넥션풀 (Connection Pool, DBCP) / Datasource 본문
728x90
커넥션풀 (Connection Pool, DBCP)
: DB와 커넥션을 맺고있는 객체를 관리 하는 역할을 한다.
일반적으로 여러명의사용자를 동시에 처리해야 하는 웹 애플리케이션의 경우 데이터베이스 연결을 이용할때 사용한다.
종류로는 commons dbcp, tomcat- jdbc, bonecp, hikaricp 등이 있습니다.
+ 기존 JDBC 드리어를 로드하고 CONNCTION객체를 받아오는 방식 (Plain JDBC 방식)은
매번 사용자가요청 할 떄마다 드라이버를 로드하고 커넥션 객체를 생성하여 연결하고 종료하기 때문에 매우 비효율적이다.
커넥션풀 처리 방식
- 웹컨테이너(was, 톰캣) 가 실행되면서 connection객체를 미리 pool에 생성해둡니다
- http요청에 따라 poll에서 connection객체를 가져다 쓰고 반환합니다.
- pool에서 미리 connection이 생서되어 있기 때문에 connection을 생성하는데 요청마다 연결시간이 소비 되지 않습니다.
- 커넥션을 계쏙 해서 재사용하기 때문에 생성되는 커넥션 수를 제한적으로 설정합니다.
커넥션풀, 동시접속자가 많은경우?
: 동시접속할 경우 pool에서미리 생성된 connection을 제공하고 없을경우 사용자는 connection이 반환 될 때까지 번호순서대로 대기상태로 기다린다.
커넥션풀을 크게 설정할 경우 메모리 소모가 큰 대신 맣은 사용자가 대기시간이 줄어들고
커넥션풀을 작게 설정할 경우 그만큼 대기 시간이 줄어든다.
Datasource ?
: Connection Pool을 구현하기위한 스펙을 정해 놓은 인터페이스 로
DB 연동과 관련 로직들이 추상화 되어있으며 DB연결을 위해 사용되는 객체 입니다.
728x90
'웹 > spring' 카테고리의 다른 글
[Spring] 스프링 MVC의 Controller (0) | 2022.08.25 |
---|---|
[spring]- Mybatis/마이바티스 (0) | 2022.08.25 |
[spring] AOP (Aspect Oriented Programming) (0) | 2022.08.25 |
[Spring] Interceptor/ 인터셉터와 필터의 차이 (0) | 2022.08.24 |
log4j - DB로그 설정하기 dataSourceSpied (0) | 2022.08.24 |
Comments