Описание проблемы
После запуска моего приложения Spring Boot, подключенного к базе данных Postgres через JPA / Hibernate и использования Spring Data REST, первые 10 вызовов, выполненных через REST API для приложения, следующие: очень, очень медленно (в диапазоне от 5 до 10 секунд).
Настройка и настройка проекта
У меня есть родительский "шаблонный" проект, с помощью которого предоставляется общая модель домена c. детские проекты. Затем они становятся доступными в каждом подпроекте, включая все другие bean-компоненты в родительском проекте.
Настройка выглядит следующим образом:
Для родительского проекта:
-
Мой родной POM c parent (используя spring-boot-starter-parent вместе с дополнительными зависимостями)
| ... является родительским POM
Родительский проект (Spring REST / Spring Data REST с предоставлением обобщенных c компонентов)
Для подпроекта:
Мой собственный универсальный c родительский POM (такой же, как указано выше)
| ... является родительским POM
Подпроект -> имеет Родительский проект в качестве зависимости
Ожидаемые и фактические результаты
Я пытался создать (через HTTP POST, используя REST API) несколько экземпляров одного и того же объекта в обоих проектах. Используя Родительский проект , сущности создаются примерно за 0,1 секунды. Но в подпроекте первые 10 - и последовательно ровно 10 - HTTP-вызовов (как POST, так и GET) действительно медленны - до 10 секунд на запрос для одной и той же сущности. Ожидаемое поведение - видеть те же скорости с первого звонка.
После этих первых 10 запросов производительность аналогична родительскому проекту.
Я понятия не имею, почему происходит такое поведение. Если у кого-нибудь есть предложение, оно будет оценено!