Shared hosting или VPS: что выбрать для сайта?
Сравнение shared hosting и VPS по ключевым критериям: root-доступ, управление ресурсами и ответственность за администрирование. Узнайте, когда стоит переходить на VPS.
Shared hosting или VPS: краткий ответ
Сравнение shared hosting и VPS — это не вопрос скорости. На shared hosting вы арендуете учетную запись на машине, которую кто-то другой настраивает, обновляет и делит между сотнями клиентов. На VPS (виртуальном выделенном сервере) вы арендуете целую операционную систему с доступом root, поэтому вы устанавливаете то, что хотите, и сами исправляете то, что сломали.
Есть три ключевых различия. У вас либо есть root-доступ, либо его нет. Ваша оперативная память либо закреплена за вами, либо берется из общего пула. И когда сервер перестает отвечать в полночь, его либо чинит хостер, либо вы. Все остальные характеристики следуют из этих трех факторов.
Если ваш сайт состоит из страниц, изображений и контактной формы, shared hosting — правильный выбор, и он стоит дешевле. Если вашему сайту нужна программа, которая должна работать постоянно, даже когда на сайте нет посетителей, вам нужен VPS.
Что на самом деле предоставляет виртуальный хостинг
Один Linux-сервер обслуживает множество клиентских аккаунтов одновременно. Каждый аккаунт представляет собой домашний каталог с корневой директорией веб-сайта, базой данных и почтовым ящиком, а один веб-сервер, обычно Apache или LiteSpeed, обрабатывает все сайты на этой машине. Вместо командной строки вы получаете панель управления. У вас нет прав root, поэтому вы не можете устанавливать пакеты, открывать порты или запускать фоновые службы.
Большинство провайдеров виртуального хостинга используют CloudLinux, который помещает каждый аккаунт в отдельный контейнер с жесткими лимитами на процессорное время и количество одновременно запущенных процессов. Превышение лимита процессов не просто замедляет работу сайта. Сервер начинает возвращать страницу с ошибкой 508 Resource Limit Is Reached. Эта страница означает, что ваш аккаунт достиг своего предела, а не то, что сосед по серверу использует ваши ресурсы.
Этот компромисс осознан. Вы отказываетесь от контроля, а взамен хостинг-провайдер занимается обновлением ядра, PHP, продлением сертификатов и ежедневным резервным копированием. Для огромного количества сайтов это выгодный обмен.
Что на самом деле дает VPS
VPS — это виртуальная машина, работающая на хост-сервере. В среде KVM, гипервизоре, который используется в большинстве тарифных планов Linux VPS, ваш экземпляр загружает собственное ядро и имеет собственный IP-адрес, собственный файрвол и собственную систему инициализации. sudo работает. apt install работает. Программа, запущенная через systemd, продолжает выполняться после вашего выхода из системы, перезапускается после сбоя и возобновляет работу после перезагрузки.
Именно из-за наличия root-доступа безопасность машины становится вашей задачей. Никто другой не следит за ней. Диапазон задач, которые решают на VPS настолько широк именно по этой причине: сервер выполняет любые функции, доступные для Linux-систем.
Различие 1: root-доступ и его возможности
Root-доступ — это фундаментальное различие, которое определяет все остальные. С правами root вы можете устанавливать любые пакеты из репозиториев дистрибутива, занимать любой порт, создавать systemd-юниты, читать любые логи на машине и изменять настройки ядра через sysctl. Без этих прав вы ограничены списком, который предлагает панель управления: выбор версии PHP, фиксированный набор расширений и форма для настройки cron-задач.
На VPS вы всегда можете узнать, какие порты прослушиваются на машине:
ss -ltnpКаждая строка соответствует открытому сокету и процессу, который им владеет. Поэтому, если сервис не запустился, соответствующая строка в выводе будет отсутствовать. На виртуальном хостинге этот вопрос не имеет смысла, так как порты 80 и 443 принадлежат веб-серверу хостинг-провайдера, и вы не можете перехватить их своими средствами.
Различие 2: выделенная память против заимствованной
Виртуальный хостинг продается с расчетом на то, что лишь немногие аккаунты активны в один и тот же момент. Память на машине представляет собой общий пул, и доля вашего аккаунта является скорее лимитом, чем зарезервированным объемом. Когда ваша доля исчерпывается, процессы PHP завершаются принудительно, а посетители получают ошибку 500 или 508.
На VPS память, указанная в вашем тарифе, принадлежит вашему экземпляру. free -m отображает её, и ни один процесс за пределами вашей виртуальной машины не может её забрать.
Процессорное время — единственное честное исключение. Большинство тарифов VPS подразумевают совместное использование физических ядер между гостевыми системами, и вы можете измерить это самостоятельно:
vmstat 1 5Столбец st показывает steal time: долю времени, в течение которого ваш виртуальный процессор был готов к работе, но физическое ядро было отдано другой гостевой системе. Постоянное значение в несколько процентов — это норма. Стабильно двузначное число означает, что хост переподписан (oversubscribed), и это показатель, который можно привести в обращении в службу поддержки. На виртуальном хостинге нет эквивалентных метрик, так как для работы любого инструмента, который мог бы их показать, требуются права root. С хранилищем ситуация аналогична, поэтому тип диска, на котором работает VPS имеет значение, и поэтому стоит самостоятельно протестировать новый VPS в течение первой недели, а не доверять рекламной странице.
Различие 3: кто несет ответственность в случае сбоя
На виртуальном хостинге провайдер владеет операционной системой, веб-сервером, сборкой PHP, сертификатами и ежедневными резервными копиями. Когда сервер перестает отвечать, вы открываете тикет, и кто-то уже занимается проблемой. Обратная сторона этого правила: вы не можете просить их установить то, что они не поддерживают.
На неуправляемом VPS провайдер владеет только гипервизором, сетью и питанием. Всё, что находится выше уровня ядра, — ваша зона ответственности. Обновления безопасности, межсетевой экран, резервное копирование, продление сертификатов и мониторинг — это ваша работа, и техническая поддержка не будет заходить на сервер, чтобы отлаживать конфигурацию вашего веб-сервера. Планируйте это с первого дня: первые десять минут на новом VPS, затем межсетевой экран, в котором вы разбираетесь, автоматические обновления безопасности и резервные копии, которые вы восстанавливали хотя бы один раз.
Когда виртуальный хостинг — подходящее решение
Сайт-визитка — самый очевидный пример: несколько страниц, изображения, форма обратной связи, возможно, WordPress с плагином кэширования и несколько тысяч посещений в день. Никаких фоновых задач. Никаких специфических сред выполнения. Ничего, что должно оставаться в оперативной памяти между запросами. Виртуальный хостинг отлично справляется с таким сайтом, стоит дешевле любого VPS и перекладывает обслуживание на специалистов, которые занимаются этим профессионально. Перенос такого сайта на VPS не дает преимуществ, но добавляет вам лишнюю работу.
Существует второй случай, которому уделяют меньше внимания. Если в вашей команде никто не хочет читать лог-файлы или запускать apt upgrade, виртуальный хостинг будет более безопасным выбором. Необновляемый VPS с открытым портом базы данных — худший вариант, чем аккаунт на виртуальном хостинге, который поддерживается в актуальном состоянии профессионалами. Контроль является преимуществом только тогда, когда кто-то им пользуется.
Признак 1: вам нужна программа, которая работает постоянно
Демон — это программа, которая находится в оперативной памяти и ожидает задач: API, чат-бот, обработчик очереди или игровой сервер. На виртуальном хостинге ваш код выполняется только при поступлении запроса, а любой процесс, запущенный из сессии SSH (secure shell), завершается при выходе, так как долгоживущие процессы учитываются в лимитах аккаунта.
На VPS та же программа становится юнитом systemd:
sudo systemctl enable --now myapp
systemctl status myappsystemctl status должна выводить Active: active (running) с идентификатором процесса (PID). Если выводится Active: failed (Result: exit-code), причина указана в journalctl -u myapp -n 50, где отображается вывод программы в момент её остановки. Параметр Restart=always в файле юнита обеспечивает перезапуск после сбоя, а enable — автоматический запуск после перезагрузки системы. Написание сервисов и таймеров systemd — это первый навык работы с VPS, который стоит освоить основательно.
Признак 2: вам требуется среда выполнения, которую не предоставляет панель
Панель управления предлагает ограниченный список. Если вашему приложению нужна версия языка, которой нет в этом списке, библиотека, требующая компиляции, ffmpeg, headless-браузер или база данных, отличная от MySQL, на виртуальном хостинге не будет места для их размещения. Для установки программного обеспечения требуются права root, а у вашей учетной записи нет ни компилятора, ни заголовочных файлов для разработки, поэтому процесс сборки завершится ошибкой еще до создания исполняемого файла.
На VPS вы устанавливаете необходимое ПО с помощью apt install или запускаете его в контейнере, сохраняя чистоту хостовой системы. Docker Compose на VPS — это стандартный путь, как только в приложении появляется более одного компонента.
Признак 3: задание cron должно выполняться вовремя
На виртуальном хостинге задания cron добавляются через веб-форму с ограничением минимального интервала, обычно в пять или пятнадцать минут. Если задание превышает лимит процессорного времени учетной записи, оно принудительно завершается. Это происходит без уведомлений, так как запись в лог, доступный пользователю, не производится.
На VPS crontab -e позволяет использовать любое расписание, а использование systemd timer является еще более предпочтительным вариантом:
systemctl list-timers
journalctl -u cron -n 20list-timers выводит время следующего запуска и результат последнего выполнения для каждого таймера, а в логе cron отображается каждое выполненное задание. Если задача не была выполнена, вы сможете определить, не запустилась ли она вовсе или завершилась с ошибкой. Это различие составляет основную часть процесса отладки запланированных задач.
Признак 4: соседи по серверу увеличивают время отклика
Симптом специфичен. Одна и та же страница без изменений в коде отвечает быстро ночью и медленно в семь часов вечера. Прежде чем кого-то винить, выполните замеры со своей машины:
for i in $(seq 1 20); do curl -o /dev/null -s -w '%{time_starttransfer}\n' https://example.com/; sleep 5; donetime_starttransfer — это время до получения первого байта ответа в секундах. Если все 20 значений близки друг к другу, проблема не в сервере, а в вашем коде или SQL-запросах. Если ночью показатели стабильны, а в часы пик разброс составляет несколько сотен миллисекунд, значит, вы делите нагруженную машину с другими аккаунтами, которые вам не видны. Это единственный фактор, который нельзя исправить оптимизацией кода, так как причина находится за пределами границ вашего аккаунта.
Реальная стоимость перехода
Это типичные заявленные цены на август 2026 года для минимального тарифного плана в каждой категории. Рассматривайте их как ориентир, а не как окончательное предложение, и проверяйте актуальную стоимость перед покупкой.
The data behind this chart
[
{
"plan": "Shared hosting",
"first_term_usd": 3,
"renewal_usd": 12
},
{
"plan": "VPS, 1 vCPU 1 GB",
"first_term_usd": 5,
"renewal_usd": 6
},
{
"plan": "VPS, 2 vCPU 4 GB",
"first_term_usd": 12,
"renewal_usd": 15
},
{
"plan": "Managed VPS, 2 vCPU 4 GB",
"first_term_usd": 25,
"renewal_usd": 30
}
]Разница в базовых ценах составляет от 3 до 5 долларов США в месяц, но эта цифра не является решающей. В виртуальном хостинге (shared hosting) цена первого периода обычно требует оплаты за один-три года вперёд, а продление обходится примерно в 12 долларов. Сравнивайте стоимость продления с продлением, и картина меняется: 12 долларов за аккаунт виртуального хостинга против 6 доллара за начальный VPS.
Будьте осторожны с этим сравнением, так как ресурсы неравнозначны. VPS с 1 vCPU и 1 GB RAM запускает веб-сервер и базу данных на одной небольшой машине, что становится тесным для WordPress при появлении реального трафика. Честное сравнение с продлённым планом виртуального хостинга — это конфигурация с 2 vCPU и 4 GB RAM стоимостью примерно 15 доллара. Таким образом, реальная переплата составляет несколько долларов в месяц, а не кратное увеличение.
Более значительные затраты никогда не отражаются в счёте. VPS требует час на первоначальную настройку, несколько минут каждый месяц на обновления и вечер, который вы потратите при первой поломке. Оцените это по своей почасовой ставке, и разница быстро сократится. Во что обходится VPS на практике подробно разбирает варианты конфигураций.
Перенос сайта с виртуального хостинга без потери трафика
- За день до переноса уменьшите TTL (time to live) для DNS-записей до 300 секунд. Это позволит изменениям вступить в силу через минуты, а не часы.
- Подготовьте новый сервер и настройте работу сайта по его IP-адресу до внесения изменений в DNS.
- Скопируйте файлы, затем сделайте дамп базы данных и разверните его на новом сервере.
- Протестируйте работу через файл hosts на вашем компьютере. Это направит домен на новый IP только для вашей машины.
- Выпустите TLS-сертификат на новом сервере, измените A-запись и сохраняйте доступ к старому хостингу в течение недели.
dig example.com A +noall +answer
rsync -avz ~/public_html/ deploy@203.0.113.10:/srv/www/example.com/
mysqldump --single-transaction -u dbuser -p dbname > site.sqldig выводит TTL во втором столбце ответа. Это позволяет убедиться, что новое значение вступило в силу, прежде чем приступать к переключению. --single-transaction позволяет сделать консистентный снимок базы данных без блокировки таблиц. Это важно, если старый сайт продолжает принимать заказы во время вашей работы. На новом сервере настройте сертификаты в тот же день: Let's Encrypt в Ubuntu с nginx занимает несколько минут, как только DNS-запись начнет указывать на новый сервер.
Ресурсы без ответственности
Если четыре признака описывают ваш сайт, но обслуживание не вызывает энтузиазма, средним вариантом будет управляемый VPS. Вы сохраняете выделенную память и права root, а провайдер берет на себя установку обновлений, мониторинг и, как правило, панель управления. Приведенная выше таблица оценивает этот вариант примерно в 30 долларов против 15 за такой же объем неуправляемого сервера. Разница в цене оплачивает внимание другого специалиста, когда сервер перестает отвечать по ночам.
Выбор между управляемым и неуправляемым VPS — это следующий логичный материал для чтения, если это описание вам подходит. Если же вы уже используете загруженный VPS и показатель steal time остается высоким в часы пик, следующим шагом будет выделенный сервер без соседей.
FAQ
VPS работает быстрее, чем виртуальный хостинг?
Не всегда. Малонагруженный сервер виртуального хостинга может обрабатывать одну страницу WordPress быстрее, чем VPS с 1 vCPU. Преимущество VPS заключается в предсказуемости: выделенная оперативная память принадлежит только вам, поэтому время отклика зависит от вашего кода, а не от активности других пользователей на сервере. Если страницы работают медленно и в 3 часа ночи, и в 7 часов вечера, причина кроется в коде или SQL-запросах. Перенос того же кода на VPS не решит проблему.
Можно ли запустить приложение на Node.js или Python на виртуальном хостинге?
Иногда, но в рамках строгих ограничений. Некоторые панели управления запускают приложение через Passenger по факту поступления запроса. Вы не можете привязать приложение к собственному порту, так как порты 80 и 443 заняты веб-сервером хостинг-провайдера. Вы не можете держать процесс в памяти между запросами, так как лимиты на количество процессов завершают работу любых долгоживущих задач. Для работы бота, воркера очередей или WebSocket-сервера необходим VPS.
Нужно ли знать Linux для работы с VPS?
Для неуправляемого (unmanaged) VPS — да. Вам потребуются SSH-ключи, настройка firewall, установка обновлений, создание резервных копий и навык чтения логов. Заложите час на первичную настройку и несколько минут каждый месяц на обслуживание. Если вы не хотите заниматься этим самостоятельно, управляемый (managed) тариф сохраняет выделенные ресурсы, но передает обслуживание провайдеру. Подробнее об этом в сравнении управляемого и неуправляемого VPS.
Будет ли сайт недоступен во время переноса с виртуального хостинга на VPS?
Нет, если вы заранее уменьшите TTL для DNS и сохраните оба аккаунта активными. Установите TTL на 300 секунд за день до переноса, скопируйте файлы и базу данных, протестируйте новый сервер через файл hosts на вашем компьютере, а затем измените A-запись. В течение нескольких минут часть посетителей будет попадать на старый сервер, а часть — на новый, поэтому не отключайте старый аккаунт в течение недели. Переведите сайт в режим «только чтение» во время финального дампа базы данных или будьте готовы к потере данных, записанных в этот промежуток времени.