Performance-tuning in Spring Boot gaat vooral over de databasegrens: connection pooling, caching, en het uitroeien van het N+1-queryprobleem. Meet eerst (Micrometer + Actuator-metrics), en pak dan de grootste kostenpost aan.
Het N+1-probleem — de nummer-één JPA-killer
Lazy associations vuren één query per parent af, en dan nog één per toegang tot een child:
List<Order> orders = orderRepo.findAll();
(Order o : orders) {
o.getItems().size();
}
