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 메타데이터를 가집니다.