Выбор сервера6 мин чтения

VPS или выделенный сервер: когда пора переезжать

Чем отличаются VPS и dedicated, какие метрики говорят о нехватке ресурсов, что стоит оптимизировать до переезда и как перенести проект без простоя.

Большинство проектов начинаются на VPS — и правильно: это быстро, недорого и гибко. Но рано или поздно у растущего проекта возникает вопрос, не пора ли переезжать на выделенный сервер. Переезд ради переезда — лишние деньги и работа, а запоздалый переезд — тормоза и простои. Разберёмся, чем отличаются эти варианты, по каким признакам понять, что VPS стал тесен, и как спланировать миграцию без потерь.

В чём разница

VPS (VDS) — виртуальная машина на физическом сервере, который делят несколько клиентов. Гипервизор, например KVM, выделяет вашей машине виртуальные ядра, память и диск. У вас полный root-доступ и своё ядро системы, но физическое железо общее.

Выделенный сервер (dedicated) — целая физическая машина, все ресурсы которой принадлежат только вам: каждое ядро процессора, вся память, все диски и сетевой порт.

VPSВыделенный сервер
РесурсыЧасть физического сервераВся машина целиком
ЗапускНесколько минут, автоматическиСборка под заказ
КонфигурацияГотовые тарифыЛюбая, под задачу
Соседи по железуЕстьНет
Снапшоты, переустановка, консольВ кабинете, в пару кликовЗависит от провайдера и конфигурации
ЦенаНиже на стартеВыше, но дешевле в пересчёте на ресурс при больших объёмах

Важная оговорка: VPS — это не «урезанный» сервер. На хорошей платформе с современным процессором и NVMe виртуальная машина справляется с серьёзной нагрузкой, а удобство управления у неё выше: машину можно переустановить, откатить к снимку или пересоздать за минуты.

Признаки того, что VPS стал тесен

Переезжать стоит не по ощущениям, а по цифрам. Вот что говорит о нехватке ресурсов.

  • Процессор постоянно загружен. Средняя нагрузка (load average) часами держится выше числа ядер, а в часы пик запросы встают в очередь.
  • Высокий steal time. Ваша машина ждёт процессор, который занят чужими задачами. Это признак тесноты на физическом сервере, а не в вашей конфигурации.
  • Не хватает памяти. Swap используется постоянно, а ядро время от времени завершает процессы из-за нехватки памяти (OOM killer).
  • Диск не успевает. Процессор простаивает в ожидании ввода-вывода, растёт задержка дисковых операций, медленнее работают запросы к базе.
  • Вы упираетесь в старший тариф. Проекту нужно больше ядер, памяти или места, чем есть в самой большой конфигурации VPS.

Всё это можно проверить стандартными утилитами. Сравните load average с количеством ядер:

Терминал
uptime
nproc

Посмотрите на процессор, память и диск в динамике — пять замеров с интервалом в секунду:

Терминал
vmstat 1 5

Здесь важны столбцы: r — сколько процессов ждут процессор (если устойчиво больше числа ядер, процессора мало), si и so — активность swap (должны быть около нуля), wa — ожидание диска, st — steal time.

Для подробной статистики по дискам установите sysstat:

Терминал
sudo apt install sysstat
iostat -x 1 5

Высокий %util вместе с растущими r_await и w_await означает, что диск работает на пределе. В Verdian Cloud графики загрузки есть и в личном кабинете — на вкладке «Мониторинг» в карточке сервера. Смотрите на них за неделю-две: разовый пик — не повод для переезда, а устойчивый рост — повод.

Сначала проверьте, не дешевле ли оптимизировать

Прежде чем платить за более мощное железо, стоит исключить причины, которые железом не лечатся:

  • медленные запросы к базе данных без индексов — включите журнал медленных запросов в MySQL или pg_stat_statements в PostgreSQL;
  • отсутствие кэширования: страницы и ответы API, которые можно отдавать из кэша, каждый раз собираются заново;
  • неправильные настройки: слишком много воркеров PHP-FPM для доступной памяти или, наоборот, слишком маленький кэш базы данных;
  • фоновые задачи, которые запускаются одновременно в часы пик.

Ещё один промежуточный вариант — разнести роли по нескольким VPS: база данных на одной машине, приложение на другой, фоновые задачи на третьей. Так проще масштабироваться, а сбой одной машины не роняет весь проект.

Когда выделенный сервер — правильный выбор

Выделенный сервер оправдан, если выполняется хотя бы одно из условий:

  • Стабильная высокая нагрузка. Процессор и память нужны постоянно, а не в отдельные часы. При таком профиле выделенный сервер обычно выгоднее по цене за ресурс.
  • Ресурсов больше, чем в старшем тарифе VPS. Например, в линейке Elite максимум — 16 vCPU, 32 ГБ памяти и 180 ГБ NVMe. Если проекту нужно больше, это уже задача для выделенного сервера.
  • Большие объёмы данных. Крупные базы данных, хранилища файлов, аналитика — там, где нужно много дисков в нужной конфигурации.
  • Предсказуемость. Ни один сосед не повлияет на задержки вашего сервиса, а все показатели производительности зависят только от вас.
  • Особые требования. Конкретная модель процессора, лицензии, привязанные к физическим ядрам, требования к изоляции данных, широкий сетевой канал.

Как заказать выделенный сервер в Verdian Cloud

Готовых тарифов на выделенные серверы у нас нет специально: железо подбирается под задачу. Можно собрать сервер на процессорах AMD или Intel, с нужным объёмом памяти и дисков и сетевым каналом 1, 5, 10, 20 Гбит/с и больше.

Оставьте заявку в личном кабинете — в разделе покупки выберите выделенный сервер и опишите задачу: какая нагрузка, какой софт, сколько данных и какой бюджет. Мы предложим конфигурацию и назовём цену, а доступы и управление будут в том же кабинете. Подробнее — на странице «Выделенный сервер под задачу».

Как переехать без простоя

Переезд на новый сервер почти всегда можно провести так, что пользователи ничего не заметят. Общий план выглядит так.

  1. Опишите, что работает на старом сервере: службы, версии, крон-задачи, открытые порты, сертификаты, переменные окружения. Это самый недооценённый шаг.
  2. Заранее уменьшите TTL DNS-записей до 300 секунд — минимум за сутки до переключения, чтобы новые адреса быстро разошлись по кэшам.
  3. Подготовьте новый сервер: базовая защита, тот же стек и те же версии ПО. Если используете Ansible или Docker Compose, этот шаг займёт минуты.
  4. Перенесите данные заранее, пока старый сервер работает. Файлы удобно копировать rsync, повторный запуск докопирует только изменения:
Терминал
rsync -aHAX --numeric-ids --info=progress2 /var/www/ deploy@новый-сервер:/var/www/
  1. Для базы данных сделайте дамп и восстановите его на новом сервере. Для крупных баз с минимальным простоем настройте репликацию со старого сервера на новый.
  2. Финальная синхронизация: включите режим обслуживания, остановите запись, ещё раз запустите rsync и перенесите последние изменения базы.
  3. Переключите DNS на новый адрес и проверьте журналы — запросы должны пойти на новый сервер.
  4. Не удаляйте старый сервер сразу. Подержите его несколько дней как запасной вариант, пока не убедитесь, что всё работает.

Итог

VPS — правильный старт почти для любого проекта и рабочий вариант для многих зрелых сервисов. Переходить на выделенный сервер стоит, когда метрики устойчиво показывают нехватку ресурсов, оптимизация уже сделана, а нагрузка выросла за пределы старшего тарифа или требует предсказуемости, которую даёт только своё железо.

Не уверены, что выбрать? Напишите в поддержку — в чат в личном кабинете или в Telegram @VerdianSupport_bot: поможем оценить нагрузку и подобрать вариант. А если пока остаётесь на VPS, загляните в статью о том, как выбрать конфигурацию.

Соберём выделенный сервер под задачу

AMD или Intel, память и диски под нагрузку, канал от 1 до 20 Гбит/с и больше. Опишите задачу — предложим конфигурацию и цену.