vCPU
vCPU (Virtual Central Processing Unit) — это виртуальный процессор, который гипервизор выделяет виртуальной машине из ресурсов физических ядер хост-сервера.
Что даёт
В отличие от выделенного физического сервера, где ОС работает с железом напрямую, в облаке или на VPS гостевая операционка видит vCPU как обычное физическое ядро. За распределение процессорного времени отвечает гипервизор (KVM, ESXi, Hyper-V).
Физическое ядро обычно делится на потоки за счёт Hyper-Threading (SMT). В большинстве облаков 1 vCPU равен одному потоку (vCPU thread), а не цельному физическому ядру. Если у сервера 16 ядер и 32 потока, гипервизор может нарезать их на десятки виртуальных машин.
Степень этой нарезки называется оверсэллингом (overcommit). Если провайдер честный, 1 vCPU даёт гарантированный кусок вычислительной мощности. Если нет — ресурсы ядра делятся между соседними VM, и при пиковой нагрузке у «соседей» ваш проект начнёт тормозить из-за CPU Steal Time (времени, пока машина ждёт очереди на физический процессор).
Плюсы в работе:
- Гибкая масштабируемость. Нужно переварить сезонную нагрузку — добавляете пару vCPU в панели провайдера (часто даже без перезагрузки, через CPU Hotplug).
- Контроль затрат. Не нужно переплачивать за мощное железо с запасом, вы покупаете ровно столько ядер, сколько требует тайтл, CMS или микросервис.
- Изоляция. В нормальном облаке виртуальная машина ограничена своими vCPU и не даёт соседним сервисам забрать ваши ресурсы.
Как использовать
vCPU подбирают под тип задачи. Нет смысла просто покупать «побольше ядер» — важно учитывать характер нагрузки.
- Однопоточные задачи. Если бэкенд written на Node.js или стандартном Python/PHP без асинхронных воркеров, одно ядро с высокой частотой сработает быстрее, чем четыре слабых vCPU.
- Многопоточность и параллелизм. Для баз данных (PostgreSQL, MySQL), сборки проектов в CI/CD, компиляции кода или работы тяжелых веб-серверов (Nginx, Go-сервисы) лучше брать больше vCPU, чтобы раскладывать потоки параллельно.
- Мониторинг CPU Steal. На продакшене обязательно отслеживайте метрику st (steal time) через top или htop. Если значение регулярно поднимается выше 3–5%, значит провайдер слишком сильно перегрузил физическое ядро соседями, и vCPU не выдаёт положенную мощность.