Назад | Перейти на главную страницу

Автоматическое масштабирование гибкой среды GAE увеличивает слишком много экземпляров для наблюдаемой нагрузки

Я использую контейнер Docker в бета-версии гибкой среды GAE, и мое автоматическое масштабирование настроено следующим образом:

automatic_scaling:
  min_num_instances: 2
  max_num_instances: 10
  cool_down_period_sec: 60
  cpu_utilization:
    target_utilization: 0.75

Моя диаграмма использования ЦП в консоли для соответствующих экземпляров ВМ Compute Engine выглядит следующим образом:

И все же за последние 30 с лишним минут GAE запустила максимум 10 экземпляров. Глядя на журналы моего приложения, оно тоже не выглядит чрезмерно загруженным. Но такая ситуация случается регулярно.

Почему GAE так агрессивно масштабируется? Есть ли лучшее место, чем диаграмма использования ЦП, для поиска данных, которые он использует для принятия решений о масштабировании?

Короткий ответ заключается в том, что в настоящее время гибкая среда использует автомасштабирование Compute Engine, которое имеет следующее поведение:

В периоды высокой загрузки ЦП, если загрузка приближается к 100%, автомасштабирование оценивает, что группа уже может быть сильно перегружена. В этих случаях средство автомасштабирования увеличивает количество виртуальных машин как минимум на 50% или как минимум на 4 экземпляра, в зависимости от того, что больше. Обычно загрузка ЦП в группе управляемых экземпляров не превышает 100%.

Один из способов уменьшить агрессивность автомасштабирования - установить target_utilization к высокой стоимости. Надеемся, что в будущем будут добавлены дополнительные параметры для настройки автомасштабирования, которые больше соответствуют стандартные параметры среды.