Большинство проектов начинаются на 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 Гбит/с и больше.
Оставьте заявку в личном кабинете — в разделе покупки выберите выделенный сервер и опишите задачу: какая нагрузка, какой софт, сколько данных и какой бюджет. Мы предложим конфигурацию и назовём цену, а доступы и управление будут в том же кабинете. Подробнее — на странице «Выделенный сервер под задачу».
Как переехать без простоя
Переезд на новый сервер почти всегда можно провести так, что пользователи ничего не заметят. Общий план выглядит так.
- Опишите, что работает на старом сервере: службы, версии, крон-задачи, открытые порты, сертификаты, переменные окружения. Это самый недооценённый шаг.
- Заранее уменьшите TTL DNS-записей до 300 секунд — минимум за сутки до переключения, чтобы новые адреса быстро разошлись по кэшам.
- Подготовьте новый сервер: базовая защита, тот же стек и те же версии ПО. Если используете Ansible или Docker Compose, этот шаг займёт минуты.
- Перенесите данные заранее, пока старый сервер работает. Файлы удобно копировать
rsync, повторный запуск докопирует только изменения:
rsync -aHAX --numeric-ids --info=progress2 /var/www/ deploy@новый-сервер:/var/www/- Для базы данных сделайте дамп и восстановите его на новом сервере. Для крупных баз с минимальным простоем настройте репликацию со старого сервера на новый.
- Финальная синхронизация: включите режим обслуживания, остановите запись, ещё раз запустите
rsyncи перенесите последние изменения базы. - Переключите DNS на новый адрес и проверьте журналы — запросы должны пойти на новый сервер.
- Не удаляйте старый сервер сразу. Подержите его несколько дней как запасной вариант, пока не убедитесь, что всё работает.
Итог
VPS — правильный старт почти для любого проекта и рабочий вариант для многих зрелых сервисов. Переходить на выделенный сервер стоит, когда метрики устойчиво показывают нехватку ресурсов, оптимизация уже сделана, а нагрузка выросла за пределы старшего тарифа или требует предсказуемости, которую даёт только своё железо.
Не уверены, что выбрать? Напишите в поддержку — в чат в личном кабинете или в Telegram @VerdianSupport_bot: поможем оценить нагрузку и подобрать вариант. А если пока остаётесь на VPS, загляните в статью о том, как выбрать конфигурацию.
