PHpullh
학습 라이브러리/Java/Connection Pool (HikariCP)

JAVA · 파일/IO

Connection Pool (HikariCP)

HikariCP를 사용한 커넥션 풀 관리와 설정 최적화입니다.

파일/IO고급HikariCPConnectionPool커넥션풀성능

핵심 설명

HikariCP를 사용한 커넥션 풀 관리와 설정 최적화입니다.

Java code

// HikariCP 의존성: com.zaxxer:HikariCP:5.1.0

// import com.zaxxer.hikari.HikariConfig;
// import com.zaxxer.hikari.HikariDataSource;

// HikariCP 설정 (의사코드)
class ConnectionPoolDemo {
    public static void main(String[] args) {
        // HikariConfig config = new HikariConfig();
        // config.setJdbcUrl("jdbc:postgresql://localhost:5432/mydb");
        // config.setUsername("user");
        // config.setPassword("pass");
        //
        // // 풀 설정
        // config.setMaximumPoolSize(10);     // 최대 커넥션 수
        // config.setMinimumIdle(5);          // 최소 유휴 커넥션
        // config.setIdleTimeout(300000);     // 유휴 타임아웃 (5분)
        // config.setConnectionTimeout(30000); // 커넥션 획득 타임아웃
        // config.setMaxLifetime(1800000);    // 최대 수명 (30분)
        //
        // // 성능 최적화
        // config.addDataSourceProperty("cachePrepStmts", "true");
        // config.addDataSourceProperty("prepStmtCacheSize", "250");
        // config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
        //
        // HikariDataSource ds = new HikariDataSource(config);
        //
        // try (Connection conn = ds.getConnection()) {
        //     // 커넥션 사용
        // }
        //
        // // 종료 시
        // ds.close();

        System.out.println("HikariCP 최적 풀 크기 공식:");
        int cpuCores = Runtime.getRuntime().availableProcessors();
        System.out.printf("connections = CPU코어(%d) * 2 + 디스크수(1) = %d%n",
            cpuCores, cpuCores * 2 + 1);
    }
}

학습 팁

최적 풀 크기 공식: 커넥션 수 = CPU 코어 * 2 + 디스크 수. 대부분의 경우 10~20이면 충분합니다.

주의할 점

커넥션 풀 크기를 100으로 설정하면 오히려 성능이 떨어집니다. 데이터베이스 동시 연결 수에는 최적 값이 있습니다.

자주 묻는 질문

Connection Pool (HikariCP)란 무엇인가요?

HikariCP 를 사용한 커넥션 풀 관리와 설정 최적화입니다.

Connection Pool (HikariCP) 학습 시 주의할 점은 무엇인가요?

커넥션 풀 크기를 100으로 설정하면 오히려 성능이 떨어집니다. 데이터베이스 동시 연결 수에는 최적 값이 있습니다.

Continue Learning

Java 학습을 이어가세요

총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.