Suorituskyvyn virittäminen Spring Bootissa koskee enimmäkseen tietokantarajapintaa: connection poolingia, cachingia ja N+1-kyselyongelman tappamista. Mittaa ensin (Micrometer + Actuator-metriikat), hyökkää sitten suurimman kustannuksen kimppuun.
N+1-ongelma — JPA:n numero yksi -tappaja
Laiskat assosiaatiot tekevät yhden kyselyn per parent, sitten yhden lisää per lapsen käyttö:
List<Order> orders = orderRepo.findAll();
(Order o : orders) {
o.getItems().size();
}
