Dostrajanie wydajności w Spring Boot to głównie kwestia granicy z bazą danych: pula połączeń, cachowanie i eliminacja problemu zapytań N+1. Najpierw mierz (metryki Micrometer + Actuator), a potem atakuj największy koszt.
Problem N+1 — zabójca numer jeden w JPA
Leniwe asocjacje wysyłają jedno zapytanie na rodzica, a potem jedno dodatkowe na każdy dostęp do dziecka:
List<Order> orders = orderRepo.findAll();
(Order o : orders) {
o.getItems().size();
}
