Как определить лимит ресурсов для модулей Openshift, необходимых для моего приложения tomcat?

У меня есть веб-приложение (сервис мыла), работающее на сервере Tomcat 8 в Openshift. Размер полезной нагрузки относительно мал с 5-10 элементами, а трафик также невелик (300 вызовов в день, максимум 5-10 потоков одновременно). Я немного запутался в ограничении ресурсов Pod. Как придумать минимальные и максимальные ограничения процессора и памяти для каждого модуля, если я собираюсь использовать модуль 1 и максимум 3 для своего приложения?

1 ответ

Сложно настроить точное значение ограничения без performance test, Потому что мы не ожидаем, что вашему приложению требуется, сколько ресурсов обрабатывает запросы. Хорошее эмпирическое правило заключается в ограничении ресурса на основе самых тяжелых workload в вашей среде. Ограничение памяти может вызвать OOM-killer, поэтому вы должны установить предоставленную стоимость, которая основана на вашем tomcatheap а также static размер памяти. В отличие от CPU ограничение не убьет ваш модуль, если оно достигнет значения ограничения, но замедлит скорость процесса.

Мое предположение о начальной точке каждого значения ограничения заключается в следующем.

  • Memory: Tomcat(Java) объем памяти + 30% буфера
  • CPU: Лично я считаю CPU limitation бесполезно максимизировать производительность и эффективность процесса. Даже если CPU usage предоставляется, и модуль может использовать все ресурсы ЦП для обработки запросов как можно быстрее в это время, настройка ограничения может его беспокоить. Но если вам нужно равномерно распределить использование ресурсов для подавления агрессивного потребителя ресурсов, вы можете рассмотреть CPU limitation,

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

Другие вопросы по тегам