spring

[SpringBoot] JDBC - Connection Pool을 미리 생성하여 초기 속도 개선

태오님 2024. 3. 31.

1. 문제

Connection Pool은 첫 번째 요청이 오기 전까지 생성되지 않는다.
애플리케이션이 시작 후 처음 받는 요청은 커넥션 풀이 생성되는 시간만큼 지연되어 클라이언트가 응답을 느려지게 된다.

2. 해결 방안

애플리케이션이 시작될 때 강제적으로 커넥션 풀을 미리 생성하여 문제를 해결

데이터베이스에 요청을 보내는 runner 메소드를 작성한 후 Bean으로 등록하면 된다.

 

애플리케이션이 실핼될 때 빈을 생성하는 과정에서 아래의 코드가 실행되며 커넥션 풀이 생성될 것이다.

@Bean
public ApplicationRunner runner(DataSource dataSource) {
	return args -> {
    	// 데이터베이스에 요청을 보내어 미리 커넥션 풀을 생성
		Connection connection = dataSource.getConnection();
	};
}

댓글