Как определить лимит ресурсов для модулей Openshift, необходимых для моего приложения tomcat?
У меня есть веб-приложение (сервис мыла), работающее на сервере Tomcat 8 в Openshift. Размер полезной нагрузки относительно мал с 5-10 элементами, а трафик также невелик (300 вызовов в день, максимум 5-10 потоков одновременно). Я немного запутался в ограничении ресурсов Pod. Как придумать минимальные и максимальные ограничения процессора и памяти для каждого модуля, если я собираюсь использовать модуль 1 и максимум 3 для своего приложения?
1 ответ
Сложно настроить точное значение ограничения без performance test
, Потому что мы не ожидаем, что вашему приложению требуется, сколько ресурсов обрабатывает запросы. Хорошее эмпирическое правило заключается в ограничении ресурса на основе самых тяжелых workload
в вашей среде. Ограничение памяти может вызвать OOM-killer
, поэтому вы должны установить предоставленную стоимость, которая основана на вашем tomcat
heap
а также static
размер памяти. В отличие от CPU
ограничение не убьет ваш модуль, если оно достигнет значения ограничения, но замедлит скорость процесса.
Мое предположение о начальной точке каждого значения ограничения заключается в следующем.
Memory
:Tomcat(Java)
объем памяти + 30% буфераCPU
: Лично я считаюCPU limitation
бесполезно максимизировать производительность и эффективность процесса. Даже еслиCPU usage
предоставляется, и модуль может использовать все ресурсы ЦП для обработки запросов как можно быстрее в это время, настройка ограничения может его беспокоить. Но если вам нужно равномерно распределить использование ресурсов для подавления агрессивного потребителя ресурсов, вы можете рассмотретьCPU limitation
,
Этот ответ может быть не тем, что вы хотите, но я надеюсь, что он поможет вам обдумать планирование своей мощности.