10 из 15 конфигураций серверов в наличииМгновенная выдачаБез платы за установку

Руководства7 мин чтения

Выделенный сервер или VPS: когда bare metal выгоднее

Шумные соседи, CPU steal, ввод-вывод на NVMe и тарификация трафика: чем на самом деле различаются VPS и выделенный сервер, плюс формула, по которой любое предложение можно сравнить в пересчете на поток.

Автор: команда DediJet

В этой статье

На VPS и на выделенном сервере может работать один и тот же образ Linux и одно и то же приложение. Разница в том, что под ними: доля общего хоста или вся машина целиком. Для небольших нагрузок с резкими всплесками такая доля часто оказывается правильным выбором. Для нагрузок, которые круглосуточно работают на полную, bare metal обычно выигрывает и в предсказуемости, и в цене за единицу вычислительной мощности. Разберемся, какой случай ваш.

Что вы на самом деле арендуете

VPS (виртуальный частный сервер) — это виртуальная машина. Гипервизор, например KVM, запускает множество ВМ на одном физическом хосте и делит между ними его процессорные потоки, память, диски и сеть. Некоторые тарифы резервируют за вами аппаратные потоки. Многие же работают с переподпиской: продают больше vCPU, чем у хоста потоков, в расчете на то, что не все клиенты будут нагружать систему одновременно.

Выделенный сервер — это сама физическая машина. Каждое ядро, каждый гигабайт оперативной памяти, NVMe-накопители и сетевой порт принадлежат вам, а под вашей операционной системой нет никакого гипервизора, если только вы не установите его сами.

Шумные соседи и CPU steal

На общем хосте каждый vCPU — это поток, который гипервизор планирует наравне с потоками всех остальных. Когда соседи активно работают, ваш vCPU может быть готов к выполнению, но все равно будет вынужден ждать. Linux отображает это ожидание как steal time:

Shell
top -bn1 | head -n 5
vmstat 1 5

В top steal — последнее поле строки %Cpu(s), а в vmstat — столбец st. В этом примере «украдено» 7,6% процессорного времени:

Вывод
%Cpu(s): 41.2 us,  3.0 sy,  0.0 ni, 47.5 id,  0.3 wa,  0.0 hi,  0.4 si,  7.6 st

st — это доля времени, когда ваши виртуальные процессоры хотели работать, а гипервизор обслуживал кого-то другого. Короткие всплески — обычное дело; но если steal остается высоким, пока ваше приложение нагружено, значит, вы платите за vCPU, которые стоят в очереди. На burstable-тарифах точно так же может выглядеть троттлинг после того, как закончатся CPU-кредиты.

Steal — лишь видимая часть. Даже с выделенными vCPU клиенты делят между собой кэш L3, пропускную способность памяти, а часто и пути к хранилищу и сети, поэтому пакетная задача соседа все равно может добавить джиттер во время отклика вашего сервиса. На bare metal st остается на нуле: под вами нет гипервизора.

Дисковый ввод-вывод: NVMe без чужой очереди

Дисковое пространство VPS — это обычно доля локальных NVMe-накопителей или сетевое блочное хранилище, где каждое чтение и каждая запись проходят по сети до кластера хранения. И то и другое, как правило, ограничено лимитами на каждый том, а сетевое хранилище еще и добавляет цикл туда и обратно к каждой операции ввода-вывода. Для баз данных, поисковых индексов и игровых миров задержка каждой операции важнее заявленной пропускной способности: следите за wa (ожиданием ввода-вывода) в top и за столбцами r_await и w_await в iostat -x 1.

На выделенном сервере NVMe-накопители подключены к собственной шине PCIe машины, и вся глубина их очередей работает только на вашу нагрузку. Во всех конфигурациях DediJet есть NVMe, а на серверах с двумя дисками по умолчанию настроен программный RAID 1. Не верьте спецификациям на слово — измеряйте; этот запуск fio проверяет случайное чтение блоками по 4 КБ из временного файла:

Shell
apt install -y fio
fio --name=randread --filename=/root/fio.test --size=4G --rw=randread --bs=4k --iodepth=32 --numjobs=4 --ioengine=libaio --direct=1 --runtime=60 --time_based --group_reporting
rm /root/fio.test

Запустите его и на своем текущем VPS и сравните IOPS и clat percentiles (задержку выполнения операций) в обоих выводах.

Трафик: плата за гигабайт исходящего или безлимитный порт

Облачные платформы и многие тарифы VPS учитывают исходящий трафик: вы платите за каждый гигабайт, уходящий с сервера, иногда сверх включенного в тариф объема. Стоимость растет линейно вместе с трафиком:

Формула
monthly egress cost = GB sent per month × price per GB

Выделенный сервер с безлимитным портом устроен наоборот: вы платите за скорость порта, а трафик не учитывается. Все тарифы DediJet включают безлимитный трафик на скорости порта (1 Гбит/с или 10 Гбит/с) круглосуточно, в рамках Правил допустимого использования. За 30 дней работы на полной скорости порт 1 Гбит/с передает около 324 ТБ в каждую сторону.

Чтобы найти точку, где две модели сравниваются по стоимости, разделите месячную цену сервера на цену гигабайта из вашего предложения. Для Ryzen 7 9700X результат деления 149 ÷ цена за гигабайт — это объем в гигабайтах, сверх которого один только исходящий трафик стоит дороже всего сервера. Подробный расчет — в нашем руководстве по безлимитному трафику.

Root-доступ, IPMI и само оборудование

Оба варианта дают root-доступ внутри операционной системы. Разница в том, что вокруг нее:

  • Внеполосный доступ. В серверы DediJet входит IPMI/KVM-over-IP: консоль в браузере, управление питанием и виртуальные носители для подключения собственного ISO-образа. Если правило файрвола или обновление ядра отрежут вам доступ, у вас все равно останутся экран и клавиатура. Консоль VPS дает доступ к ВМ, но никогда — к оборудованию.
  • Собственный гипервизор. Установите Proxmox VE в один клик или VMware ESXi со своей лицензией, TrueNAS либо NixOS из ISO-образа и запускайте ВМ и контейнеры без вложенной виртуализации, которую многие тарифы VPS отключают или замедляют.
  • Реальные данные об оборудовании. Состояние дисков по SMART и NVMe, топология процессора и поведение частот, настройки сетевой карты: вы видите настоящие устройства, а не виртуальные.

Обратная сторона: серверы предоставляются без администрирования, так что администратор — вы. Основы описаны в наших руководствах по первым шагам и консоли IPMI/KVM.

Считаем деньги: цена за ядро и за гигабайт RAM

Честное сравнение — это месячная цена, поделенная на то, что вы получаете. Вот три сервера DediJet (цены за месяц, без НДС):

СерверЦенаЯдра / потокиОЗУДиски · портЗа ядроЗа потокЗа ГБ ОЗУ
Ryzen 7 9700X$149/мес.8 ядер / 16 потоков64 ГБ DDR52 × 1 ТБ NVMe · 1 Гбит/с$18.63$9.31$2.33
Ryzen 9 9950X$269/мес.16 ядер / 32 потока128 ГБ DDR52 × 2 ТБ NVMe · 1 Гбит/с$16.81$8.41$2.10
EPYC 9354P$699/мес.32 ядра / 64 потока384 ГБ DDR5 ECC2 × 3,84 ТБ NVMe · 10 Гбит/с$21.84$10.92$1.82

В каждом столбце полная цена делится на один ресурс, поэтому складывать эти цифры нельзя. Диски, безлимитный порт, адрес IPv4, IPMI и фильтрация DDoS входят в стоимость в каждой строке.

Применяйте ту же мерку к любому предложению облака или VPS. Один vCPU — это обычно один аппаратный поток, а не целое ядро, поэтому сравнивайте цену за поток или делите число vCPU пополам, чтобы получить ядра:

Вывод
price per thread = monthly cost ÷ dedicated vCPUs
price per core   = monthly cost ÷ (dedicated vCPUs ÷ 2)
monthly cost     = hourly price × 730

Сравнивайте выделенные vCPU, а не разделяемые или burstable, и прибавляйте то, что уже входит в цену сервера: блочное хранилище, исходящий трафик в вашем реальном объеме, дополнительные IP-адреса. Например, чтобы сравняться с Ryzen 7 9700X по цене за поток, инстанс с 16 vCPU и 64 ГБ RAM должен стоить меньше $149 в месяц — еще без учета дисков и исходящего трафика.

Две оговорки. Поток на ядре Zen 5 с турбочастотой до 5,5 ГГц и vCPU на серверном процессоре с более низкой частотой выполняют за секунду разный объем работы, поэтому цена за поток — отправная точка, а не окончательный вердикт. И ядра — не единственный критерий: EPYC 9354P дороже в пересчете на ядро, зато у него самая низкая цена за гигабайт памяти из трех, а еще ECC и порт 10 Гбит/с. Проверьте свою реальную нагрузку по нашему руководству по бенчмаркам.

Когда VPS по-прежнему лучший выбор

  • Нагрузка совсем маленькая. Личному сайту, боту или небольшому VPN-серверу целая машина не нужна. Самый недорогой наш сервер в наличии стоит $59/мес.; если ваша нагрузка помещается в небольшую ВМ, VPS обойдется дешевле.
  • Нагрузка импульсная или кратковременная. CI-раннер на час, нагрузочный тест, еженедельная обработка данных: почасовая или посекундная оплата выгоднее помесячного сервера, который простаивает.
  • Вам нужно автомасштабирование. Если ваш стек автоматически масштабируется вслед за трафиком или сжимается до нуля, под эту модель подходят облачные инстансы; DediJet выставляет счета помесячно.
  • Вы опираетесь на управляемые сервисы. Для некоторых команд управляемые базы данных, очереди и объектное хранилище на той же платформе стоят того, чтобы за них переплачивать.
  • Вы хотите, чтобы сбои оборудования брала на себя платформа. Некоторые платформы при отказе оборудования перезапускают ВМ на другом хосте. Выделенный сервер — это одна машина: мы заменяем вышедший из строя компонент в течение 4 часов после диагностики, но настоящую доступность обеспечивают резервные копии и второй сервер.

Многие команды в итоге приходят к гибридной схеме: выделенные серверы — под стабильную базовую нагрузку, облачные инстансы — под всплески.

Чек-лист: что выбрать?

Скорее всего, bare metal для вас выгоднее, если верно большинство пунктов:

  • Нагрузка держится круглосуточно на стабильном базовом уровне.
  • Вы видите устойчивый steal time или джиттер задержки, который не объясняется вашим собственным кодом.
  • Важна задержка дисков: базы данных, поиск, игровые миры, кэши сборки.
  • Исходящий трафик — большая или непредсказуемая часть вашего счета.
  • Вам нужен собственный гипервизор, свой ISO-образ или консоль внеполосного управления.
  • Ваше предложение в пересчете на выделенный vCPU, с учетом дисков и исходящего трафика, дороже наших цен за поток.
  • В команде есть человек, который уверенно администрирует серверы.

Оставайтесь на VPS, если вам нужны почасовая оплата, автомасштабирование или всего один-два vCPU.

Готовы сравнивать? Сопоставьте конфигурации на странице сравнения или начните с линеек «Производительные» и «Корпоративные». Оплата помесячная, без платы за установку, так что месячный тест на реальной нагрузке почти ни к чему не обязывает.

Серверы из этой статьи

Сравнить их бок о бок
Попробуйте на реальном оборудовании

Серверы в наличии готовы к работе менее чем за 2 минуты после подтверждения оплаты. Без платы за установку, отмена в любой момент.

Смотреть серверы