Рекомендации для продуктивного контура

Рекомендации для продуктивного контура#

Раздел содержит базовые рекомендации по подготовке продуктивного контура Global ERP. Детальные требования к отказоустойчивости, восстановлению и процедурам переключения приведены в разделе Отказоустойчивость и аварийное восстановление Global ERP.

Отказоустойчивость Kubernetes#

Для продуктивного контура рекомендуется использовать отказоустойчивую конфигурацию Kubernetes. Минимальная рекомендуемая конфигурация для HA - три узла control-plane.

Использование трех control-plane узлов обеспечивает кворум etcd и сохраняет возможность управления кластером при отказе одного управляющего узла. Один control-plane узел не обеспечивает отказоустойчивость управляющего слоя и не рекомендуется для промышленной эксплуатации.

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

Память JVM и лимиты Kubernetes#

При настройке pod’ов серверов приложений основным параметром расчета RAM является Xmx JVM. Требования к расчету ресурсов приведены в разделе RAM, настройка ресурсов pod’ов описана в разделе Шаг 4. Настройте группы ресурсов.

Для продуктивных контуров рекомендуется:

  • задавать Xmx JVM 32 ГБ для одного pod’а;

  • задавать requests.memory близким к значению Xmx;

  • задавать limits.memory на уровне 48 ГБ или Xmx + ~20% для покрытия накладных расходов JVM и процесса контейнера;

  • не занижать requests.memory относительно фактического потребления pod’а;

  • проверять выбранные значения по результатам нагрузочного тестирования и мониторинга JVM-памяти.

Заниженное значение requests.memory приводит к некорректному планированию pod’ов Kubernetes. В этом случае несколько ресурсоемких pod’ов могут быть размещены на одном узле при наличии свободных узлов в кластере, что под нагрузкой увеличивает риск OOM, рестартов и eviction.

Квоты Global3#

Квоты задаются в секции <quotas> файла global3.config.xml и ограничивают потребление ресурсов внутри сервера приложений. Подробное описание параметров приведено в разделах Квоты и Квоты сервера.

Для продуктивного контура рекомендуется использовать настройки с включенным raiseError="true". При таком режиме превышение квоты завершается ошибкой, а не только записью в журнал. Это ограничивает выполнение операций, которые могут привести к чрезмерному потреблению памяти, росту времени отклика или деградации соседних пользовательских сессий.

Рекомендуемая начальная конфигурация:

<quotas>
    <server maxOldGenMemory="0" maxEdenSpaceMemory="80%" raiseError="true"/>
    <session maxUiCellCount="40M" maxFormCount="10" raiseError="true"/>
    <transaction maxTxCellCount="35M" raiseError="true"/>
</quotas>

Значения квот являются стартовой рекомендацией для продуктивного контура. Их изменение допускается после анализа прикладного сценария, результатов нагрузочного тестирования и метрик мониторинга.