Spring boot 2.0 и выше занимает много времени, чтобы связать свойства конфигурации, учитывая, что размер свойств составляет приблизительно ~ 7000 - PullRequest
0 голосов
/ 21 ноября 2019

Мы настроили конфигурацию Spring Cloud в качестве централизованного решения для предприятия, в результате чего на наш сервер конфигурации было установлено около 700 репозиториев. Он добавляет около 7000 свойств конфигурации пружины и будет продолжать расти. Раньше это работало довольно быстро в весенней загрузке 1.5, но после весенней загрузки 2.0 Потребовалось много времени для сопоставления свойств конфигурации.

Я пытаюсь обновить его до весенней загрузки 2.1.8 вместе с весенним облакомconfig 2.1.4, но время запуска приложения и время обновления контекста значительно возросли по сравнению с весенней загрузкой 1.5.x.

Есть ли способ, которым мы можем отключить привязку relax или другие функции отображения и использовать ее аналогично Springboot 1.5?

1 Ответ

0 голосов
/ 21 ноября 2019

У меня нет опыта управления таким большим количеством свойств, однако у меня есть некоторые идеи, которые могут быть полезны и указывают на решение:

  1. Почему вы думаетеего свойство разрешения / смягченные обязательные правила? Возможно, загружаются еще несколько бинов, и некоторые из них работают медленно, все они могут «способствовать» медленному запуску.

  2. Для современных машин 7000 свойств не так уж великиколичество. Таким образом, есть вероятность, что даже было некоторое снижение производительности между пружинной загрузкой 1.x и 2.x (в которую я вряд ли верю) - это все равно не будет "значительным" количеством времени.

  3. Поскольку вы упомянули конфигурацию Spring Cloud - у нее есть API отдыха, который сам по себе может быть проверен на производительность. Если у вас есть исполнительный механизм на сервере конфигурации облака, существует конечная точка, которая возвращает 50 последних запросов вместе с их временем выполнения. Поэтому, пожалуйста, проверьте время выполнения и сравните между весенней загрузкой 1.5.x и 2.0.x

  4. Последнее, но не менее важное - попробуйте профилировать приложение и посмотреть, какие бины являются потребителями в реальном времени.

...