Недавно я обновил одно из своих приложений Spring Boot с 2.1.3-RELEASE до 2.3.0-RELEASE, а также обновил версии Hibernate с 5.3.6.Final до 5.4.15.Final.
Все прошло нормально, однако теперь, когда приложение запускается на сервере, его запуск занимает от 800 до 900 секунд (примерно 15 минут), тогда как раньше это занимало всего 30 секунд.
Что-то Важно отметить, что при запуске на локальном хосте, как с 2.1.3, так и с 2.3.0, запуск приложения был одинаковым, около 12-15 секунд.
Проблема медленного запуска возникает только при развертывании на сервере.
Я уверен, что проблема связана с новой версией Spring Boot, поскольку я переключился на SpringBoot 2.1.3 и оставил Hibernate как 5.4.15, и запуск был быстрым.
Итак, что-то изменилось в последних выпусках SpringBoot, где я должен установить свойство для отключения определенных проверок или чего-то еще?
В большинстве статей и сообщений, которые я видел, говорилось, что проблема связана с Hibernate и чтобы установить это свойство spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
, но я сделал это, и это не повлияло.
ОБНОВЛЕНИЕ:
Я пробовал свойство spring.main.lazy-initialization=true
, но оно не повлияло на производительность при запуске.
ОБНОВЛЕНИЕ 2:
Я понизил версию 2.3.0 до 2.2.7, в результате чего время запуска в среднем составляло 170 секунд, по сравнению со средним временем запуска 800 секунд с 2.3.0. Примерно 3-х минутное время запуска по-прежнему ужасно, но, с разницей в 12 минут без каких-либо изменений, кроме версий, мне интересно, не слишком ли это амбициозно, чтобы быть в последней версии Spring Boot.
Все еще очень любопытно, есть ли у кого-нибудь предложения о том, почему мы перешли с 30-секундного времени старта с 2.1.3 на 3-минутное время старта с 2.2.7.
* 1026 2.2.x?
ПОСЛЕДНЕЕ ОБНОВЛЕНИЕ
Я попробовал версию 2.2.5, которая не привела к снижению производительности при запуске по сравнению с 2.1.3. Во всяком случае производительность запуска увеличилась. Итак, это наводит меня на мысль, что что-то изменилось под капотом с версиями 2.2.6 и выше.
Я собираюсь придерживаться версии 2.2.5, но все еще надеюсь на ответ, если кто-нибудь пытался использовать эти самые последние версии Spring Boot.