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