Перейти к основному содержимому

Вертикальное масштабирование: объем памяти

Кроме горизонтального масштабирования количества инстансов, доступно вертикальное масштабирование: платформа Caila может автоматически увеличить лимит ресурса RAM для сервиса, если активный инстанс был остановлен из-за нехватки памяти.

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

Как работает вертикальное масштабирование

Платформа периодически проверяет состояние активных инстансов ML-сервиса. Если в последнем состоянии инстанса зафиксирована остановка из-за нехватки памяти, платформа рассчитывает новый лимит RAM:

  • текущий лимит умножается на коэффициент из настроек;
  • результат ограничивается максимальным лимитом из настроек.

После увеличения Caila сохраняет новый лимит RAM в настройках сервиса и запускает обновление лимитов для активных инстансов.

События увеличения памяти или достижения максимального лимита отображаются в Истории событий.

Когда вертикальное масштабирование не применяется:

  • У сервиса нет активных инстансов.
  • Режим хостинга не «Автоматический».
  • С момента предыдущего увеличения лимита еще не прошел кулдаун-период, заданный в настройках.
  • Аккаунт заблокирован из-за недостатка средств.

Учитываются только инстансы со статусом Запускается или Запущен: если инстанс прямо сейчас удаляется или остановлен окончательно, его последнее состояние не считается сигналом для увеличения памяти.

Что делать при нехватке памяти

Сначала определите в разделе Диагностика, что инстанс действительно был остановлен из-за нехватки памяти: последнее состояние инстанса с exitCode 137 и причиной OOMKilled либо Error. Другие коды завершения и причины (например, exitCode 143 или Terminated) на нехватку памяти не указывают и вертикальное масштабирование не запустят.

  • Если такая остановка обнаружена и текущий лимит RAM меньше приемлемого для вас, включите вертикальное масштабирование памяти и задайте настройки. Подробнее смотрите в подразделе Как настроить ниже.
  • Если остановка из-за нехватки памяти повторяется, но лимит RAM уже достиг максимального значения, увеличивайте его только после проверки доступных ресурсов и стоимости.
  • Если в разделе Диагностика есть ошибки 504, Connection refused, долгая обработка запросов или другие симптомы, но нет остановки с exitCode 137 и подходящей причиной, проверьте логи, метрики CPU, запросов в минуту и активных запросов. Не используйте увеличение памяти как единственное исправление.

Как настроить

  1. Выберите сервис и перейдите в НастройкиХостинг.

  2. Убедитесь, что выбран режим Автоматический и задано ненулевое минимальное или максимальное количество инстансов либо расписание. Подробнее об этих настройках читайте в разделе Горизонтальное автомасштабирование: количество инстансов.

  3. Раскройте группу настроек Вертикальное масштабирование памяти.

  4. Активируйте опцию Включить вертикальное масштабирование памяти.

  5. Укажите параметры:

    • Макс. лимит памяти — верхняя граница, до которой Caila может увеличить RAM. Указывайте значение с единицей измерения, например 1Gi.
    • Коэффициент увеличения памяти — множитель к текущему лимиту RAM. Например, при значении 1.5 лимит увеличится на 50%.
    • Кулдаун (минуты) — минимальный интервал между автоматическими увеличениями RAM для сервиса.
  6. Нажмите Сохранить.