Tối ưu hóa hiệu năng
Tối ưu hóa hiệu năng: profiling, caching, lazy loading, phân trang, connection pooling, lập chỉ mục DB
1HikariCP trong ngữ cảnh Spring Boot là gì?
HikariCP trong ngữ cảnh Spring Boot là gì?
Câu trả lời
HikariCP là trình quản lý connection pool mặc định trong Spring Boot kể từ phiên bản 2.0. Nó mang lại hiệu năng vượt trội nhờ một triển khai được tối ưu hóa (overhead thấp, quản lý đồng thời hiệu quả) và được công nhận rộng rãi là connection pool nhanh nhất trên thị trường. Spring Boot tự động sử dụng nó khi spring-boot-starter-data-jpa hoặc spring-boot-starter-jdbc có trong các dependency.
2Tham số HikariCP nào định nghĩa số lượng kết nối tối đa trong pool?
Tham số HikariCP nào định nghĩa số lượng kết nối tối đa trong pool?
Câu trả lời
Tham số maximumPoolSize định nghĩa số lượng kết nối tối đa (đang hoạt động và rảnh rỗi) mà HikariCP sẽ duy trì trong pool. Giá trị được HikariCP khuyến nghị thường dựa trên công thức: connections = ((core_count * 2) + effective_spindle_count), thường nằm trong khoảng từ 10 đến 20 đối với các ứng dụng điển hình. Giá trị quá cao có thể làm bão hòa cơ sở dữ liệu, trong khi giá trị quá thấp có thể gây ra việc chờ kết nối.
3Sự khác biệt giữa maximumPoolSize và minimumIdle trong HikariCP là gì?
Sự khác biệt giữa maximumPoolSize và minimumIdle trong HikariCP là gì?
Câu trả lời
maximumPoolSize định nghĩa tổng số kết nối tối đa (đang hoạt động và rảnh rỗi) trong pool, trong khi minimumIdle định nghĩa số lượng kết nối rảnh rỗi tối thiểu mà HikariCP duy trì thường xuyên. HikariCP khuyến nghị không thiết lập minimumIdle và để maximumPoolSize quản lý pool (hành vi mặc định: minimumIdle = maximumPoolSize), vì pool tự động điều chỉnh dựa trên tải để tối ưu hóa hiệu năng.
Công thức được HikariCP khuyến nghị để tính maximumPoolSize là gì?
Tham số HikariCP nào kiểm soát thời gian chờ tối đa để lấy một kết nối từ pool?
+27 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Spring Boot khác
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging với SLF4J và Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Xử lý ngoại lệ
Bean Validation
Kiến thức cơ bản về Spring Data JPA
Thực thể JPA & Quan hệ
Truy vấn JPA
Spring Data Repositories
Cơ bản về Spring Security
Spring Boot Actuator
Kiểm thử đơn vị với JUnit & Mockito
Kiểm thử Spring Boot
Profiles và Environment
RestTemplate và WebClient
Async và Scheduling
Caching với Spring
Spring WebFlux (Reactive)
Giao dịch Spring
Xác thực và phân quyền nâng cao
JWT & Bảo mật Stateless
OAuth2 & Authorization Server
Spring Boot và Docker
Microservices với Spring
Spring Cloud Config
GraalVM Native Images
Nắm vững Spring Boot cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí