Определение простыми словами
Burstable CPU — это модель предоставления вычислительных ресурсов процессора виртуальными машинами, при которой гарантируется минимальная производительность, а при необходимости и наличии свободных ресурсов можно временно увеличить мощность до определённого предела. Такой подход помогает экономить ресурсы и оптимизировать нагрузку, позволяя виртуальным машинам работать быстрее при пиковых задачах.
Механизм основан на накоплении кредитов в моменты снижения загрузки процессора, которые затем возникают возможность «взрывных» повышений частоты использования CPU.
Сравнение
| Параметр | Burstable CPU | Фиксированный CPU |
|---|---|---|
| Гарантированное время работы на полной мощности | Ограничено балансом кредитов | Постоянно |
| Максимальная мощность | Выше базового уровня | Равна базовому лимиту |
| Подходит для | Нагрузок с переменной интенсивностью | Постоянных интенсивных нагрузок |
| Стоимость | Чаще дешевле при непостоянной нагрузке | Выше из-за гарантированных ресурсов |
Кейсы использования
- Веб-серверы с нерегулярными всплесками трафика.
- Тестовые и разработческие стенды с переменной загрузкой.
- Резервное копирование и задачи с высокой периодичностью, но низкой базовой нагрузкой.
- Образовательные и демонстрационные окружения.
Негативный пример: Burstable CPU не подходят для баз данных и приложений с постоянной высокой нагрузкой, так как ограничение кредитов может привести к снижению производительности в критический момент.
Технические детали
Модель Burstable CPU реализуется с помощью механизмов контроля процессора в гипервизорах, таких как KVM, OpenVZ и других, где каждому гостевому ОС выделяется базовый CPU share и определенное количество кредитов на «burst».
Например, в KVM используется cgroups с параметрами cpu.cfs_quota_us и cpu.cfs_period_us для ограничения и контроля использования процессора. Кредиты позволяют превышать установленный квотум временно, если система не загружена другими виртуальными машинами.
# Пример установки burstable ограничений на cgroups в Linux (KVM)
echo 100000 > /sys/fs/cgroup/cpu/my_vm/cpu.cfs_period_us
echo 200000 > /sys/fs/cgroup/cpu/my_vm/cpu.cfs_quota_us # 2 CPU координируется в 100ms периоде
Подробнее о технологиях виртуализации и связанных терминах можно узнать в статьях KVM, OpenVZ и vCPU.
🔥 Где это применяется
Частые вопросы
Что такое Burstable CPU?
Это модель CPU для виртуальных машин, позволяющая временно использовать повышенную вычислительную мощность сверх базового лимита.
Для каких задач подходит Burstable CPU?
Для приложений с переменной нагрузкой, где пиковая производительность нужна кратковременно.
Можно ли использовать Burstable CPU для баз данных?
Не рекомендуется, так как критичная постоянная нагрузка требует гарантированной мощности.