Skip to Content
Suffering builds character

5. 커넥션 풀

방법 B는 프로그램이 시작될 때 커넥션 객체를 2개 이상 미리 생성해두고 재사용하는 방식

방법 B. 커넥션 풀링(Connection Pooling)

프로그램을 시작하는 과정에서 커넥션 객체를 2개 이상 미리 생성해둔 후,

사용자 요청이 올 경우 생성해둔 객체를 활용하여 요청 처리 시간을 감소시키는 방식

이러한 커넥션 풀링을 통해 효과적으로 애플리케이션의 성능을 향상시키면서 전체 리소스 접근에 대한 사용량, 부하를 줄일 수 있음

reuse_flow


개별 커넥션 객체들을 보관, 관리하는 커넥션 풀 클래스 의사 코드

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