5. 커넥션 풀
방법 B는 프로그램이 시작될 때 커넥션 객체를 2개 이상 미리 생성해두고 재사용하는 방식
방법 B. 커넥션 풀링(Connection Pooling)
프로그램을 시작하는 과정에서 커넥션 객체를 2개 이상 미리 생성해둔 후,
사용자 요청이 올 경우 생성해둔 객체를 활용하여 요청 처리 시간을 감소시키는 방식
이러한 커넥션 풀링을 통해 효과적으로 애플리케이션의 성능을 향상시키면서 전체 리소스 접근에 대한 사용량, 부하를 줄일 수 있음

개별 커넥션 객체들을 보관, 관리하는 커넥션 풀 클래스 의사 코드
MyConnectionPool.java
public class MyConnectionPool {
private String url; // DB 서버 URL
private String user; // DB 서버에 접근하는 사용자 계정 이름
private String password; // DB 서버에 접근하는 사용자 계정 비밀번호
private static List<Connection> connectionPool; // 미리 생성할 커넥션 객체들을 보관할 리스트(커넥션 풀), 풀장
private static List<Connection> usedConnections = new ArrayList<>(); // 사용된 커넥션 객체들
private static int INITIAL_POOL_SIZE = 10; // 최대로 생성할 커넥션 객체 개수
public static MyConnectionPool create(String url, String user, String password) throws SQLException {
List<Connection> pool = new ArrayList<>(INITIAL_POOL_SIZE);
// 최대 사이즈(INITAL_POOL_SIZE) 만큼 커넥션 객체 생성
for (int i = 0; i < INITIAL_POOL_SIZE; i++) {
pool.add(createConnection(url, user, password)); // 풀에 커넥션 객체 담기
}
return new MyConnectionPool(url, user, password, pool);
}
// 그 외..
}Last updated on