Первоначальный скачок ЦП JVM в контейнере DockerJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Первоначальный скачок ЦП JVM в контейнере Docker

Сообщение Anonymous »

У меня есть несколько проектов Java, работающих в контейнерах Docker, управляемых с помощью Kubernetes. Я хочу включить горизонтальное автомасштабирование модулей (HPA) на основе ЦП, предоставленного Kubernetes, но мне трудно справиться с первоначальными скачками ЦП, вызванными JVM при инициализации контейнера.

В настоящее время я не установил ограничение процессора в файлах yaml Kubernetes ни для одного из проектов, что по сути означает, что я позволяю модулям забирать столько процессора из среды, сколько они может (я знаю, что это плохая практика, но она позволяет мне загружать поды JVM менее чем за 30 секунд).

Проблема, которую это создает, заключается в том, что во время создания пода в первые 3-4 минуты процессор использование увеличится настолько, что если у меня установлен набор правил автомасштабирования, он сработает. Модуль с автомасштабированием будет раскручиваться и вызывать тот же всплеск и повторно запускать автомасштабирование до тех пор, пока не будет достигнуто максимальное количество модулей и все не успокоится.

Я попробовал установить ограничение процессора в yaml-файле kubernetes, но Если процессор, который нужен моим проектам, не так уж велик, поэтому, установив для него значение без излишеств, мои модули раскручиваются более чем за 5 минут, что неприемлемо.

Я также мог бы увеличить задержку автомасштабирования до более 10 минут, но это глобальное правило, которое также повлияет на развертывания, которые мне нужно очень быстро масштабировать, поэтому для меня это тоже неподходящий вариант.

Это пример конфигурации процессора и памяти для одного из моих модулей

Код: Выделить всё

 env:
resources:
requests:
memory: "1300Mi"
cpu: "250m"
limits:
memory: "1536Mi"
Недавно я также перешел на Java 10, которая должна быть оптимизирована для контейнеризации.
Будем очень признательны за любые советы и комментарии.
Спасибо. заранее.

Изменить:

Я также мог бы настроить hpa на основе пользовательских метрик Prometheus, таких как http_requests, но этот вариант будет сложнее поддерживать, поскольку существует множество переменных, которые могут повлиять на количество запросов, которые может обработать модуль.

Подробнее здесь: https://stackoverflow.com/questions/542 ... -container
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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