Shared hosting чи VPS: що вибрати для сайту
Shared hosting чи VPS? Ключова різниця: доступ root і відповідальність за сервер. Дізнайтеся, коли shared hosting вигідніший і про які чотири ознаки переходити.
Shared hosting vs VPS: коротка відповідь
Shared hosting vs VPS — це не питання швидкості. У shared hosting ви орендуєте обліковий запис на сервері, який хтось інший налаштовує, оновлює та спільно використовує із сотнями клієнтів. У VPS (virtual private server) ви орендуєте цілу операційну систему з доступом root, тому самі встановлюєте потрібне програмне забезпечення й самі виправляєте наслідки власних помилок.
Є три принципові відмінності. Або у вас є доступ root, або його немає. Пам’ять або виділена вам, або спільно використовується з іншими клієнтами. І коли сервер опівночі перестає відповідати, або проблему усуває хостинг-провайдер, або це робите ви. Усі відмінності у feature grid випливають із цих трьох чинників.
Якщо ваш сайт складається зі сторінок, зображень і контактної форми, shared hosting є правильним вибором і коштує менше. Якщо сайту потрібна програма, яка має працювати постійно, навіть коли ніхто його не відвідує, вам потрібен VPS.
Що насправді дає shared hosting
На одному Linux-сервері одночасно працює багато облікових записів клієнтів. Кожен обліковий запис має домашній каталог із кореневим каталогом документів, базою даних і поштовою скринькою. Один вебсервер, зазвичай Apache або LiteSpeed, обслуговує всі сайти на цьому сервері. Замість командного рядка ви отримуєте панель керування. Доступу до root ви не маєте, тому не можете встановлювати пакети, відкривати порти або запускати фонові служби.
Більшість shared hosting-провайдерів використовує CloudLinux, який розміщує кожен обліковий запис в окремому контейнері з жорстким обмеженням процесорного часу та кількості процесів, які можна запускати одночасно. Перевищення ліміту процесів не сповільнює сайт. Сервер повертає сторінку помилки з текстом 508 Resource Limit Is Reached. Це означає, що ліміт перевищив саме ваш обліковий запис, а не сусідній сайт використав виділені вам ресурси.
Це свідомий компроміс. Ви відмовляєтеся від контролю, а натомість провайдер оновлює ядро, встановлює нові версії PHP, поновлює сертифікат і щовечора створює резервну копію. Для великої кількості сайтів це виправданий компроміс.
Що насправді дає VPS
VPS — це віртуальна машина, яка працює на фізичному сервері. У KVM — гіпервізорі, на якому працює більшість Linux VPS, — ваш інстанс завантажує власне ядро та має власну IP-адресу, власний firewall і власну init-систему. sudo працює. apt install працює. Програма, яку ви запускаєте через systemd, продовжує працювати після виходу із системи, перезапускається після збою та знову запускається після перезавантаження.
Саме цей доступ до root означає, що безпека машини стає вашою відповідальністю. Ніхто інший не стежить за нею. Діапазон завдань, для яких використовують VPS широкий саме з цієї причини: цей сервер може виконувати будь-які завдання, на які здатен Linux-сервер.
Різниця 1: доступ root і можливості, які він відкриває
Root — це головна відмінність, від якої залежать усі інші. Маючи його, ви можете встановити будь-який пакет із дистрибутива, прив’язати будь-який порт, створити unit systemd, прочитати всі журнали на машині та змінити параметри ядра за допомогою sysctl. Без нього вам доступний лише перелік, який пропонує панель: вибір версії PHP, фіксований набір розширень і форма для cron jobs.
На VPS завжди можна перевірити, які порти прослуховуються:
ss -ltnpКожен рядок відповідає одному відкритому сокету та процесу, якому він належить. Тому сервіс, який не зміг запуститися, буде видно за відсутнім рядком. На shared hosting це питання не має відповіді, оскільки порти 80 і 443 належать вебсерверу хоста, і ніщо з того, що ви запускаєте, не може зайняти їх.
Різниця 2: виділена пам’ять проти спільної пам’яті
Віртуальний хостинг продають із розрахунком на те, що небагато облікових записів будуть одночасно активно використовувати ресурси. Пам’ять на сервері є спільним пулом, а частка вашого облікового запису — це ліміт, а не гарантована резервація. Коли ліміт вичерпано, процеси PHP примусово завершуються, а відвідувачі отримують помилку 500 або 508.
На VPS пам’ять у межах вашого тарифу належить вашому екземпляру. Команда free -m показує її обсяг, і жоден процес за межами вашої віртуальної машини не може її забрати.
Час процесора є винятком. Більшість тарифів VPS використовує спільні фізичні ядра для різних гостьових систем. Це можна перевірити самостійно:
vmstat 1 5Стовпець st показує steal time: частку часу, коли ваш віртуальний процесор був готовий до роботи, але фізичне ядро було передано іншому гостьовому екземпляру. Стабільне значення в кілька відсотків є нормальним. Тривале двозначне значення означає, що на хості надмірно багато віртуальних машин. Це показник, який можна навести у зверненні до служби підтримки. У shared hosting еквівалентного показника немає, оскільки для його отримання потрібні права root. Сховище працює так само. Тому тип диска, що використовується в тарифі VPS має значення. Також у перший тиждень варто самостійно виміряти параметри нового VPS, а не покладатися на сторінку з описом тарифу.
Різниця 3: хто відповідає, якщо щось перестає працювати
На shared hosting хостинг-провайдер відповідає за операційну систему, вебсервер, збірку PHP, сертифікати та нічне резервне копіювання. Якщо сервер перестає відповідати, ви створюєте тикет, і хтось уже працює над проблемою. Інший бік цього правила — обмеження: ви не можете попросити встановити те, що провайдер не підтримує.
На unmanaged VPS провайдер відповідає за гіпервізор, мережу та живлення. Усе, починаючи з ядра операційної системи, відповідаєте ви. Оновлення безпеки, firewall, резервні копії, поновлення сертифікатів і моніторинг — ваша робота, а служба підтримки не підключатиметься до сервера, щоб налагоджувати конфігурацію вебсервера. Заплануйте це з першого дня: перші десять хвилин на новому VPS, потім firewall, який ви розумієте, автоматичні оновлення безпеки і резервні копії, з яких ви хоча б один раз відновлювали дані.
Коли shared hosting є правильним вибором
Сайт-візитка — найочевидніший випадок: кілька сторінок, зображення, контактна форма, можливо, WordPress із плагіном кешування та кілька тисяч відвідувань на день. Фонових завдань немає. Незвичного runtime немає. Нічого не потрібно зберігати в пам’яті між запитами. Shared hosting добре підходить для такого сайту, коштує дешевше за будь-який VPS і передає обслуговування фахівцям, які займаються цим повний робочий день. Перенесення на VPS нічого не дасть і додасть роботу, якої раніше не було.
Є й другий випадок, якому приділяють менше уваги. Якщо ніхто з вашого боку не хоче читати файл журналу або виконувати apt upgrade, shared hosting є безпечнішим вибором. Непропатчений VPS із відкритим портом бази даних — гірший результат, ніж shared account, який фахівець регулярно оновлює. Контроль є перевагою лише тоді, коли ним хтось користується.
Ознака 1: потрібна програма, яка працює постійно
Daemon — це програма, яка залишається в пам’яті та очікує на роботу: API, чат-бот, worker для черги або ігровий сервер. Shared hosting запускає ваш код лише після надходження запиту, а все, що ви залишаєте працювати в SSH (secure shell)-сеансі, завершується, оскільки довготривалий процес враховується в ліміті процесів облікового запису.
На VPS та сама програма стає unit systemd:
sudo systemctl enable --now myapp
systemctl status myappsystemctl status має вивести Active: active (running) з ідентифікатором процесу. Якщо виведено Active: failed (Result: exit-code), причину наведено в journalctl -u myapp -n 50: там показано власний вивід програми на момент її зупинки. Restart=always у файлі unit запускає програму знову після збою, а enable — після перезавантаження. Налаштування сервісів і таймерів systemd — перша навичка роботи з VPS, яку варто опанувати належним чином.
Ознака 2: вам потрібне середовище виконання, якого немає в панелі
Панель надає список. Якщо застосунку потрібна версія мови програмування, якої немає в цьому списку, бібліотека, яку потрібно скомпілювати, ffmpeg, headless-браузер або база даних, відмінна від MySQL, у shared hosting немає місця для такого програмного забезпечення. Для встановлення програм потрібен root, а в облікового запису немає компілятора та заголовкових файлів для розроблення, тому збірка завершується помилкою ще до створення результату.
На VPS ви встановлюєте потрібне програмне забезпечення за допомогою apt install або запускаєте його в контейнері, не змінюючи середовище хоста. Docker Compose на VPS — типовий варіант, коли застосунок складається з кількох взаємопов’язаних компонентів.
Ознака 3: завдання cron має виконуватися вчасно
Shared-хости приймають завдання cron через форму та встановлюють мінімальний інтервал, зазвичай 5 або 15 хвилин. Якщо завдання перевищує ліміт процесорного часу облікового запису, його примусово завершують під час виконання. Воно завершується без повідомлення, оскільки нічого не записується до журналу, який вам дозволено читати.
На VPS crontab -e приймає будь-який розклад, який ви вкажете, а таймер systemd ще зручніший:
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 — це час до отримання першого байта відповіді в секундах. Якщо двадцять значень близькі одне до одного, проблема не на сервері, а виправлення потрібно шукати в коді або запитах до бази даних. Якщо о 3am значення стабільні, а в години пікового навантаження коливаються на кілька сотень мілісекунд, ви використовуєте спільну завантажену машину разом з обліковими записами, яких не бачите. Цю причину не можна усунути покращенням коду, оскільки вона виникає за межами вашого облікового запису.
Скільки насправді коштує перехід
Це типові рекламовані ціни станом на серпень 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 доларів за shared account проти 6 доларів за початковий VPS.
Будьте обережні з цим порівнянням, оскільки ресурси не однакові. VPS із 1 vCPU і 1 GB запускає web server і database на одному невеликому сервері. Для WordPress цього буде мало, щойно з’явиться реальний трафік. Коректним аналогом поновленого shared plan є конфігурація з 2 vCPU і 4 GB приблизно за 15 доларів. Отже, фактична доплата становить кілька доларів на місяць, а не кратну суму.
Основна частина витрат не відображається в рахунку. VPS потребує години на початкове налаштування, кількох хвилин щомісяця на оновлення та вечора, який ви витратите, коли щось уперше зламається. Оцініть цей час за власною погодинною ставкою — і різниця швидко зменшиться. У розділі Скільки VPS коштує на практиці докладніше розглянуто різні конфігурації.
Перенесення сайту із shared hosting без втрати трафіку
- За день зменште DNS (domain name system) TTL (time to live) для домену до 300 секунд, щоб перемикання завершилося за кілька хвилин, а не годин.
- Підготуйте новий сервер і перевірте роботу сайту за його IP-адресою, перш ніж змінювати DNS.
- Скопіюйте файли, потім створіть дамп бази даних і відновіть його на новому сервері.
- Перевірте сайт через файл hosts на своєму ноутбуці. Він спрямовує домен на нову IP-адресу лише для вашого комп’ютера.
- Отримайте TLS (transport layer security) сертифікат на новому сервері, змініть A-запис і не вимикайте shared account протягом тижня.
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 за unmanaged VPS такого самого розміру. Ця різниця оплачує увагу іншого фахівця, коли сервер перестає відповідати вночі.
Вибір між керованим і некерованим VPS — це рекомендований наступний матеріал, якщо ви впізнали себе в цьому описі. Якщо ж ви вже використовуєте завантажений VPS, а steal time у години пікового навантаження все ще високий, наступним кроком буде виділений сервер без жодних сусідів.
FAQ
Чи швидший VPS за shared hosting?
Не обов’язково. Невантажений shared server може обробляти окрему сторінку WordPress швидше, ніж VPS із 1 vCPU. VPS забезпечує стабільніші показники: оперативна пам’ять, передбачена вашим тарифом, доступна вам, тому час відповіді залежить від вашого коду, а не від найбільш навантаженого облікового запису на сервері. Якщо сторінки повільні і о 3am, і о 7pm, причина полягає у вашому коді або запитах до бази даних. Перенесення того самого коду на VPS не усуне проблему.
Чи можна запускати застосунок Node.js або Python на shared hosting?
Іноді, але лише в суворо визначених межах. Деякі панелі запускають застосунок через Passenger, і він працює лише після надходження запиту. Ви не можете прив’язати власний порт, оскільки web server хостингу використовує 80 і 443. Ви не можете зберігати worker у пам’яті між запитами, оскільки обмеження кількості процесів облікового запису завершує роботу довготривалих процесів. Для бота, queue worker або websocket server потрібен VPS.
Чи потрібно знати Linux для роботи з VPS?
Для unmanaged VPS — так. Вам потрібні SSH keys, firewall, оновлення, резервні копії та звичка читати журнали. Виділіть годину на початкове налаштування і кілька хвилин щомісяця після цього. Якщо ви не хочете виконувати цю роботу, managed plan зберігає призначені ресурси, а обслуговування передає провайдеру. Саме цей компроміс описано в керований і некерований VPS hosting.
Чи стане мій сайт недоступним під час перенесення зі shared hosting на VPS?
Ні, якщо спочатку зменшити DNS TTL і залишити обидва облікові записи активними. За день до перенесення встановіть TTL на 300 seconds, скопіюйте файли та базу даних, перевірте новий server через hosts file на своєму ноутбуці, а потім змініть A record. Протягом кількох хвилин частина відвідувачів потраплятиме на старий server, а частина — на новий, тому залиште shared account активним на тиждень. Переведіть сайт у режим read-only під час фінального дампу бази даних або погодьтеся втратити дані, записані протягом цього періоду.