Optymalizacja wydajności
Optymalizacja wydajności: profiling, caching, lazy loading, paginacja, connection pooling, indeksowanie DB
1Czym jest HikariCP w kontekście Spring Boot?
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.
2Który parametr HikariCP definiuje maksymalną liczbę połączeń w pool?
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.
3Jaka jest różnica między maximumPoolSize a minimumIdle w HikariCP?
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.
Jaką formułę zaleca HikariCP do obliczania maximumPoolSize?
Który parametr HikariCP kontroluje maksymalny czas oczekiwania na uzyskanie połączenia z pool?
+27 pytań z rozmów
Inne tematy rekrutacyjne Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logowanie z SLF4J i Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Obsługa wyjątków
Bean Validation
Podstawy Spring Data JPA
Encje JPA i relacje
Zapytania JPA
Spring Data Repositories
Podstawy Spring Security
Spring Boot Actuator
Testy jednostkowe z JUnit i Mockito
Testowanie Spring Boot
Profiles i Environment
RestTemplate i WebClient
Async i Scheduling
Caching ze Spring
Spring WebFlux (Reactive)
Transakcje Spring
Zaawansowane uwierzytelnianie i autoryzacja
JWT i bezpieczeństwo stateless
OAuth2 i Authorization Server
Spring Boot i Docker
Microservices ze Spring
Spring Cloud Config
GraalVM Native Images
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