ضبط الأداء في Spring Boot يدور غالبًا حول حدود قاعدة البيانات: تجميع الاتصالات (connection pooling)، والتخزين المؤقت، وقتل مشكلة استعلامات N+1. قِس أولًا (مقاييس Micrometer + Actuator)، ثم هاجم أكبر تكلفة.
مشكلة N+1 — قاتل JPA الأول
الارتباطات الكسولة (lazy) تُصدر استعلامًا لكل أب، ثم استعلامًا إضافيًا لكل وصول إلى ابن:
List<Order> orders = orderRepo.findAll(); // استعلام واحد
(Order o : orders) {
o.getItems().size();
}
