Ydeevnetuning i Spring Boot handler mest om databasegrænsen: connection pooling, caching og at dræbe N+1-forespørgselsproblemet. Mål først (Micrometer + Actuator-metrikker), angrib derefter den største omkostning.
N+1-problemet — den største JPA-dræber
Lazy associations udsteder én forespørgsel per parent og derefter én mere per barneadgang:
List<Order> orders = orderRepo.findAll();
(Order o : orders) {
o.getItems().size();
}
