Сколько ядер нужно VPS под вашу задачу
Соблазн взять «побольше ядер» велик, но это не всегда деньги в дело. Разберём, какие задачи реально масштабируются по ядрам, а каким хватит одного быстрого, и как проверить, упирается ли сервер в CPU.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Однопоточные и многопоточные задачи
Ключевой вопрос: умеет ли ваша нагрузка использовать несколько ядер одновременно. Обработка одного HTTP-запроса, рендер страницы, простой скрипт — обычно однопоточные: они грузят одно ядро, и добавление остальных им ничего не даёт. А вот сборка проекта, транскодинг, параллельный парсинг или БД под множеством соединений раскладываются по ядрам и реально ускоряются.
- Однопоточные: отдельный запрос PHP/Python, крон-скрипт, рендер шаблона.
- Многопоточные: компиляция, docker build, обработка очереди воркерами, аналитика.
Отсюда правило: сначала берите быстрое ядро, потом — их количество. Медленный CPU не спасёт даже восемь ядер, если задача крутится в одном потоке.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS с нужным числом ядерОриентиры по числу ядер
Грубые ориентиры под типичные задачи. Они не догма — реальную потребность покажет нагрузочный тест, но для старта хватит.
- 1 ядро: лендинг, сайт-визитка, небольшой Telegram-бот, статический блог.
- 2 ядра: WordPress с кэшем, небольшой API, пара мелких сервисов.
- 4 ядра: интернет-магазин, несколько контейнеров, CI-раннер, средняя база.
- 8+ ядер: нагруженный бэкенд, тяжёлая БД, аналитика, транскодинг, парсинг.
Быстрые ядра важнее их числа: на AMD EPYC (как в MAATRIX) двух ядер часто достаточно там, где на старом Xeon пришлось бы брать четыре. Прежде чем переплачивать за ядра, оцените, где именно тормозит приложение — иногда кэширование или оптимизация запроса к базе экономит целое ядро.
Как понять, что сервер упирается в CPU
Прежде чем докупать ядра, убедитесь, что проблема именно в процессоре. Инструмент top/htop показывает загрузку, но важнее показатель load average и колонка iowait — высокий iowait означает, что тормозит диск, а не CPU.
sudo apt install -y htop sysstat
htop # интерактивный просмотр по ядрам
uptime # load average за 1/5/15 минут
mpstat -P ALL 1 5 # загрузка по каждому ядру
Если load average стабильно выше числа ядер, а iowait мал — вы уперлись в CPU, пора добавлять ядра или оптимизировать код. Если высок именно iowait — узкое место диск, ядра не помогут, нужен NVMe. Частая ошибка новичков — докупать vCPU, когда на деле сервер ждёт медленный диск: смотрите на iowait до того, как менять тариф.
Нагрузочный тест перед выбором тарифа
Лучший способ подобрать конфигурацию — прогнать нагрузку, похожую на реальную. Для веб-сервиса удобен инструмент wrk или ab: он бомбит эндпоинт запросами и показывает RPS и задержки.
sudo apt install -y wrk
wrk -t4 -c100 -d30s http://127.0.0.1:8080/
# -t потоки, -c соединения, -d длительность
Смотрите на Requests/sec и Latency. Поднимайте число соединений и следите, когда задержка начинает расти, а CPU выходит на полку. Так вы увидите реальный потолок текущей конфигурации и поймёте, нужно ли больше ядер.
vCPU и переподписка
На VPS ядро называют vCPU — виртуальным. Провайдеры часто делают oversell: продают больше vCPU, чем есть физических ядер, рассчитывая, что не все нагружают их одновременно. При сильной переподписке ваши ядра будут «воровать» время у соседей, и это видно по метрике steal time.
top # смотрите поле st (steal) в строке CPU
mpstat 1 5 | awk '{print $NF}' # колонка %idle, ищем провалы
Ненулевой steal time означает, что гипервизор не даёт вам обещанное время CPU — сосед перегружает хост. У провайдера с адекватной плотностью и быстрым железом (EPYC у MAATRIX) steal близок к нулю, и обещанные ядра действительно ваши.
Частые ошибки
- Брать много ядер под однопоточную задачу — приложение грузит одно, остальные простаивают.
- Путать нехватку CPU с нехваткой диска — высокий iowait лечится NVMe, а не ядрами.
- Не делать нагрузочный тест — берёте конфигурацию наугад.
- Игнорировать steal time — на переподписанном хосте ядра работают в полсилы.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS с нужным числом ядерОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Сколько ядер нужно для сайта?
Сайту-визитке или блогу хватает 1 ядра, WordPress с кэшем и небольшому API — 2. Магазину и нескольким сервисам обычно нужно 4.
Больше ядер всегда лучше?
Нет. Однопоточные задачи грузят только одно ядро. Сначала важна производительность ядра, а число ядер добавляют под многопоточные нагрузки.
Что такое steal time?
Это время, когда ваш vCPU готов работать, но гипервизор отдал физическое ядро соседу. Ненулевой steal означает переподписку хоста.