Процессор Spring Boot API не возвращается на уровни простоя при обработке ошибокJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Процессор Spring Boot API не возвращается на уровни простоя при обработке ошибок

Сообщение Гость »


У меня есть приложение Sprint Boot API, которое тормозит примерно раз в месяц. Единственный способ исправить это — перезапустить приложение.

Исследование метрик и использования API помогло нам выяснить, что рассылка HTTP-запросов к конкретному контроллеру, которая может привести к выдаче исключения, приводит к тому, что загрузка ЦП не возвращается к нормальному состоянию. Загрузка ЦП постоянно колеблется в пределах 25-35%, когда запросы рассылаются спамом. Точные шаги для воспроизведения:
[*]Выполнить сценарий bash с бесконечным циклом для отправки HTTP-запросов, которые выдают исключение (запустить несколько экземпляров) [*]Подождите, пока сервер достигнет 100 % загрузки процессора. [*]Подождите 15 минут. [*]Остановить бесконечный цикл в скрипте bash
Используя Java Visual, мы можем видеть, что загрузка процессора колеблется около 25%, когда HTTP-запросы прекращаются: введите сюда описание изображения

Мы попробовали несколько вещей, таких как обновление версии весенней загрузки, установка системной переменной LatencyUtils.useActualTime в значение false, выполнение сборки мусора.

Когда мы смотрим на гистограмму кучи, мы видим, что класс с наибольшим количеством экземпляров — io.micrometer.core.instrument.Tag[]: введите сюда описание изображения

Будем благодарны за любые предложения :)

Загрузка процессора/памяти возвращается к уровням простоя, когда приложение не получает никаких запросов
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»