Spring Boot

성능 최적화

성능 최적화: profiling, caching, lazy loading, 페이지네이션, connection pooling, DB 인덱싱

30 면접 질문·
Senior
1

Spring Boot 맥락에서 HikariCP란 무엇인가요?

답변

HikariCP는 버전 2.0부터 Spring Boot의 기본 connection pool 관리자입니다. 최적화된 구현(낮은 오버헤드, 효율적인 동시성 관리)을 통해 뛰어난 성능을 제공하며, 시장에서 가장 빠른 connection pool로 널리 알려져 있습니다. Spring Boot는 의존성에 spring-boot-starter-data-jpa 또는 spring-boot-starter-jdbc가 있을 때 자동으로 이를 사용합니다.

2

어떤 HikariCP 파라미터가 pool의 최대 연결 수를 정의하나요?

답변

maximumPoolSize 파라미터는 HikariCP가 pool에서 유지할 최대 연결 수(활성 및 유휴)를 정의합니다. HikariCP가 권장하는 값은 일반적으로 connections = ((core_count * 2) + effective_spindle_count) 공식을 기반으로 하며, 일반적인 애플리케이션에서는 보통 10에서 20 사이입니다. 값이 너무 높으면 데이터베이스가 포화될 수 있고, 너무 낮으면 연결 대기가 발생할 수 있습니다.

3

HikariCP에서 maximumPoolSize와 minimumIdle의 차이점은 무엇인가요?

답변

maximumPoolSize는 pool 내 총 최대 연결 수(활성 및 유휴)를 정의하고, minimumIdle은 HikariCP가 영구적으로 유지하는 최소 유휴 연결 수를 정의합니다. HikariCP는 minimumIdle을 설정하지 않고 maximumPoolSize가 pool을 관리하도록 하는 것(기본 동작: minimumIdle = maximumPoolSize)을 권장합니다. pool이 부하에 따라 자동으로 조정되어 성능을 최적화하기 때문입니다.

4

maximumPoolSize를 계산하기 위해 HikariCP가 권장하는 공식은 무엇인가요?

5

어떤 HikariCP 파라미터가 pool에서 연결을 얻기 위한 최대 대기 시간을 제어하나요?

+27 면접 질문

다음 면접을 위해 Spring Boot을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기