Коэффициенты оверкоммита CPU и RAM

OpenStack позволяет использовать оверкоммит(overcommit) процессорных ядер и оперативной памяти на вычислительных узлах. Это означает, что планировщик может разместить на физическом узле больше виртуальных ресурсов, чем есть физических. Оверкоммит позволяет увеличить количество запущенных ВМ в облаке, но при этом снижается производительность каждой отдельной ВМ.

Служба Compute использует следующие коэффициенты оверкоммита по умолчанию:

  • Коэффициент оверкоммита CPU: 16:1

  • Коэффициент оверкоммита RAM: 1.5:1

Предупреждение

Использование коэффициента оверкоммита RAM больше 1:1 может негативно повлиять на работающие виртуальные машины, если вся доступная память гипервизора будет использована. При недостатке swap-пространства система будет вынуждена использовать механизм OOM killer для освобождения памяти, что может привести к нестабильной работе виртуальных машин.

Коэффициент оверкоммита CPU

Коэффициент оверкоммита CPU по умолчанию 16:1 означает, что планировщик выделяет до 16 виртуальных ядер на одно физическое ядро.

Например, если физический узел имеет 12 ядер, планировщик видит 192 доступных виртуальных ядра. При типичных определениях флейворов с 4 виртуальными ядрами на ВМ, такой коэффициент позволит разместить 48 ВМ на одном физическом узле.

Расчёт количества ВМ

Формула для расчёта количества ВМ на вычислительном узле: (OR × PC) / VC

где:

OR - Коэффициент оверкоммита CPU (виртуальных ядер на одно физическое ядро).

PC - Количество физических ядер.

VC - Количество виртуальных ядер на одну ВМ.

Коэффициент оверкоммита RAM

Коэффициент оверкоммита RAM по умолчанию 1.5:1 означает, что планировщик размещает ВМ на физическом узле до тех пор, пока общий объём оперативной памяти, связанной с ВМ, не превысит 1.5-кратный объём доступной памяти на физическом узле.

Например, если физический узел имеет 48 ГБ оперативной памяти, планировщик будет размещать на нём ВМ до тех пор, пока сумма памяти всех ВМ не достигнет 72 ГБ (например, девять ВМ по 8 ГБ каждая).

Независимо от коэффициента оверкоммита, ВМ не может быть размещена на физическом узле, если узел имеет меньше необработанных (до применения оверкоммита) ресурсов, чем требует флейвор ВМ.

Выбор коэффициентов оверкоммита

Выбор подходящих коэффициентов оверкоммита CPU и RAM зависит от специфики вашего сценария использования. При выборе коэффициентов учитывайте:

  • Характер нагрузки ваших ВМ (постоянная или переменная загрузка процессора).

  • Требования к производительности приложений.

  • Доступность swap-пространства для оверкоммита памяти.

  • Критичность приложений к задержкам и стабильности работы.