O tuning de performance no Spring Boot é majoritariamente sobre a fronteira com o banco de dados: connection pooling, caching e matar o problema de consulta N+1. Meça primeiro (métricas do Micrometer + Actuator), depois ataque o maior custo.
O problema N+1 — o assassino número um do JPA
Associações lazy disparam uma consulta por pai e depois mais uma por acesso ao filho:
List<Order> orders = orderRepo.findAll();
(Order o : orders) {
o.getItems().size();
}
