Оптимізація продуктивності
Оптимізація продуктивності: profiling, caching, lazy loading, пагінація, connection pooling, індексування БД
1Що таке HikariCP у контексті Spring Boot?
Що таке HikariCP у контексті Spring Boot?
Відповідь
HikariCP — це менеджер connection pool за замовчуванням у Spring Boot починаючи з версії 2.0. Він пропонує виняткову продуктивність завдяки оптимізованій реалізації (низькі накладні витрати, ефективне керування конкурентністю) і широко вважається найшвидшим connection pool на ринку. Spring Boot використовує його автоматично, коли spring-boot-starter-data-jpa або spring-boot-starter-jdbc присутній у залежностях.
2Який параметр HikariCP визначає максимальну кількість з'єднань у pool?
Який параметр HikariCP визначає максимальну кількість з'єднань у pool?
Відповідь
Параметр maximumPoolSize визначає максимальну кількість з'єднань (активних і неактивних), які HikariCP підтримуватиме в pool. Рекомендоване HikariCP значення зазвичай ґрунтується на формулі: connections = ((core_count * 2) + effective_spindle_count), часто від 10 до 20 для типових застосунків. Занадто високе значення може перенасичити базу даних, тоді як занадто низьке може спричинити очікування з'єднань.
3Яка різниця між maximumPoolSize та minimumIdle у HikariCP?
Яка різниця між maximumPoolSize та minimumIdle у HikariCP?
Відповідь
maximumPoolSize визначає загальну максимальну кількість з'єднань (активних і неактивних) у pool, тоді як minimumIdle визначає мінімальну кількість неактивних з'єднань, які HikariCP підтримує постійно. HikariCP рекомендує не встановлювати minimumIdle і дозволити maximumPoolSize керувати pool (поведінка за замовчуванням: minimumIdle = maximumPoolSize), оскільки pool автоматично коригується залежно від навантаження для оптимізації продуктивності.
Яку формулу рекомендує HikariCP для обчислення maximumPoolSize?
Який параметр HikariCP контролює максимальний час очікування для отримання з'єднання з pool?
+27 питань зі співбесід
Інші теми співбесід Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Логування за допомогою SLF4J та Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Обробка винятків
Bean Validation
Основи Spring Data JPA
Сутності JPA та зв'язки
Запити JPA
Spring Data Repositories
Основи Spring Security
Spring Boot Actuator
Модульне тестування з JUnit та Mockito
Тестування Spring Boot
Profiles та Environment
RestTemplate і WebClient
Async і Scheduling
Кешування зі Spring
Spring WebFlux (Reactive)
Транзакції Spring
Розширена автентифікація та авторизація
JWT та stateless-безпека
OAuth2 та Authorization Server
Spring Boot і Docker
Microservices зі Spring
Spring Cloud Config
GraalVM Native Images
Опануй Spring Boot для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно