172 похожих чатов

Коллеги, поделитесь бест практисами Есть пачка микросервисов на джаве (спринг бут),

есть дилема с тем, сколько выставить лимит/реквест ресурсов на них. Я пониманию, что по ходу дела нужно будет подкручивать по реальным показателям, но хочу понять как выводить примерные значения, которые можно поставить в качестве начальных значений

Я взял один из типовых микросервисов, нагрузил его для понимания показателей прожорливости и получил, что под нагрузкой его потребление cpu 400-500m, а памяти 300-450мб. На холостом ходу практически не используется cpu и 200-250 мб памяти
Если я все полностью правильно понял с гайдов, то кубер при масштабировании использует показатель request ресурсов для определения того, на какую ноду поставить реплику. Соответственно, к каким выводам я пришел
1) CPU ограничивать не надо, тк при перезапуске спринг бут отжирает много цпу, и если его ограничить то рестарт пода будет занимать слишком долго времени. Но для правильной работы кубера нужно указать request значение (для правильного скейлинга), что немного ставит меня в тупик. Как обычно ставят?
2) По памяти решил ставить лимит в 1 гб, тогда как в самом приложении поставить ограничение jvm на максимальный хип в чуть больший размер. Логика простая - если приложение будет подбираться к потолку ограничения памяти, кубер мягко перезапустит под, и мы не вылетим с ООМ, возможно что посреди какой-то операции
Тут решил request поставить 200 мб, тк приложение столько требует на холостом ходу

Вопрос
Как ставят request cpu и насколько я прав с памятью?

6 ответов

15 просмотров

кубер не перезапускает под мягко - он оомом убивает процессы

Евгений-Анохин Автор вопроса
Paragor
кубер не перезапускает под мягко - он оомом убивае...

хм, мне в какой-то статье попадалось, что он посылает код на терминейт, из-за чего у приложения есть шанс доделать все

Евгений Анохин
хм, мне в какой-то статье попадалось, что он посыл...

это при удалении пода (читай деплое). если преодалел лимиты - вступает в бой оом, другой стратегии нет.

Жава весь хип выжрет при первой же пиковой нагрузке. Если вы лимит меньше хипа поставите, ее сразу и прибьют. Лимит надо ставить на 50-100 мб больше Xmx. Разные приложения кушают кроме хипа память по-разному, поэтому тут универсального значения нет.

Vladimir
Жава весь хип выжрет при первой же пиковой нагрузк...

я после настроек ELK-стека джаву не долюбливаю)

по п.2 в самом приложении проще выставить в процентном соотношении от существующей памяти, jvm от определенных версий вполне себе уже умеет определять, сколько памяти на хосте/в контейнере

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта