Типы масштабирования

Тип масштабирования группы необходимо выбирать при создании каждой группы. Тип определяет каким образом будет изменяться число виртуальных машин в группе: автоматически или вручную.

Группы с ручным масштабированием

Instance Groups позволяет создавать группы виртуальных машин фиксированного размера. Вы можете управлять размером такой группы вручную, исходя из ваших текущих потребностей в вычислительных мощностях.

Группы с автоматическим масштабированием

Instance Groups позволяет создавать автоматически масштабируемые группы виртуальных машин. При создании группы вы указываете целевой уровень нагрузки, а сервис постоянно регулирует количество виртуальных машин так, чтобы средняя нагрузка оставалась ниже целевого уровня.

Чтобы регулировка не была слишком чувствительной, Instance Groups позволяет задать период стабилизации: после того, как количество машин в группе было увеличено, машины не будут удаляться до окончания периода стабилизации, даже если нагрузка стала достаточно низкой.

Чтобы определить нужное количество машин, Instance Groups периодически измеряет среднюю нагрузку по группе и соотносит ее с целевым уровнем.

Алгоритм действий сервиса вне периода стабилизации:

  1. Рассчитать среднюю нагрузку CPU на каждой виртуальной машине, кроме тех, которые находятся в статусе WARMING UP. На каждой ВМ нагрузка замеряется несколько раз в минуту. Полученные значения усредняются для каждой машины по промежутку измерения нагрузки, который вы задаете при создании группы.

    Запускаемые машины игнорируются при замере, так как могут показывать аномально высокую нагрузку (нужную длительность разогрева можно задать при создании группы).

  2. Рассчитав среднюю нагрузку по каждой машине, дополнительно усреднить ее по зонам доступности.

    Например, группа из 4 машин находится целиком в одной зоне. Одна из них запускается, а для остальных нагрузка 90%, 75% и 85%. Средняя нагрузка по зоне: (90+75+85) / 3 = 83.4%

  3. Получить общую нагрузку: умножить полученную среднюю нагрузку на общее количество машин. В примере — 83.4 × 4 = 333.6%

  4. Разделить общую нагрузку на целевой уровень нагрузки по зоне, чтобы получить требуемое количество машин (результат округлить в большую сторону). Например, целевой уровень — 75%. Значит, нужное количество машин 333.6 / 75 = 4.48 ~ 5 ВМ.

По результатам расчета нужно создать еще одну виртуальную машину. Instance Groups запускает этот процесс, и начинает рассчитывать среднюю нагрузку заново.

См. также