Spring Boot

Optymalizacja wydajności

Optymalizacja wydajności: profiling, caching, lazy loading, paginacja, connection pooling, indeksowanie DB

30 pytań z rozmów·
Senior
1

Czym jest HikariCP w kontekście Spring Boot?

Odpowiedź

HikariCP jest domyślnym menedżerem connection pool w Spring Boot od wersji 2.0. Oferuje wyjątkową wydajność dzięki zoptymalizowanej implementacji (niski overhead, efektywne zarządzanie współbieżnością) i jest powszechnie uważany za najszybszy connection pool na rynku. Spring Boot używa go automatycznie, gdy w zależnościach obecny jest spring-boot-starter-data-jpa lub spring-boot-starter-jdbc.

2

Który parametr HikariCP definiuje maksymalną liczbę połączeń w pool?

Odpowiedź

Parametr maximumPoolSize definiuje maksymalną liczbę połączeń (aktywnych i bezczynnych), które HikariCP będzie utrzymywać w pool. Wartość zalecana przez HikariCP zazwyczaj opiera się na formule: connections = ((core_count * 2) + effective_spindle_count), często między 10 a 20 dla typowych aplikacji. Zbyt wysoka wartość może przeciążyć bazę danych, a zbyt niska może powodować oczekiwanie na połączenie.

3

Jaka jest różnica między maximumPoolSize a minimumIdle w HikariCP?

Odpowiedź

maximumPoolSize definiuje całkowitą maksymalną liczbę połączeń (aktywnych i bezczynnych) w pool, podczas gdy minimumIdle definiuje minimalną liczbę bezczynnych połączeń, które HikariCP utrzymuje na stałe. HikariCP zaleca, aby nie ustawiać minimumIdle i pozwolić, by maximumPoolSize zarządzał pool (zachowanie domyślne: minimumIdle = maximumPoolSize), ponieważ pool automatycznie dostosowuje się do obciążenia w celu optymalizacji wydajności.

4

Jaką formułę zaleca HikariCP do obliczania maximumPoolSize?

5

Który parametr HikariCP kontroluje maksymalny czas oczekiwania na uzyskanie połączenia z pool?

+27 pytań z rozmów

Opanuj Spring Boot na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo