В чем разница VPS/VDS?
Хитрые хостеры отвечают, что это одно и то же.
А вот не совсем:
- VPS – (англ. virtual private server) – виртуальный частный сервер
- VDS – (англ. virtual dedicated server) – виртуальный выделенный сервер
Server – он конечно сервер, но разный. Одна буква P/D – и разница есть.
Читаем статью про хостинг
Самые низкие тарифы VPS – на виртуализации OpenVZ
Читаем статью
Как выбрать VPS/VDS по параметрам
Вот именно OpenVZ – это как раз виртуальный частный сервер VPS. Точнее – это контейнер (причем для его работы требуется модифицированное ядро Linux – в отличии от Docker), а не сервер. Внутри контейнера можно запускать только те программы, которые поддерживает общее ядро.
А ядро у всех пользователей общее. И под пользователей выделены контейнеры, где созданы виртуальные ядра, память и пр.
Хостеры очень любят OpenVZ – так там диск тоже виртуальный и его объем динамически распределяется между пользователями. Т.е. Ваши 15 Гб на диске типа у хостера и 3 использованных = факт только 3 использованных и Вам еще выделят до 15 при необходимости…
Поэтому дешево.
НО для OpenVZ:
- так как диск виртуальный и он не весь ваш – там невозможен SWAP -> те при исчерпании оперативки будет срабатывать OOM Killer – и самые загруженные процессы будут убиваться. Пришло много пользователей, памяти выделилось много (надо же где-то процессору собрать html по инструкциям php), оперативная память кончилась, убили наиболее загруженный процесс (как правило mysql) – сайт/сайты отвалились…..
- так как ядро Linux общее – Вы не можете помять, например, нужную версию fail2ban с 0.9.0 на 0.10.0 (с поддержкой IP v6)
- и ограничение всего 256 правил для iptables – т.е. полноценную защиту от ботов не сделать.
Читаем здесь
Настраиваем fail2ban под свои задачи
И оперативная память тоже интересно расходуется. Т.е. она конечно в рамках тарифа вся Ваша – но посмотрим на графики.
Данные с панели управления – порядка 750 Мб занято из 3 Gb
Данные через биллинг (общие данные с сервера) – занято порядка 2 Гб
Как такое может быть?
Проверим командой (через SSH)
free -h
Смотрим на результат. Что это?
- total 3 Gb- понятно
- used 726 Mb – понятно
- cache 1,3 Gb – а это кто?
А это общее ядро Linux в Вашей памяти (которая в рамках OpenVZ) кэширует различные операции… Пока Вы часть памяти не использовали – она идет на общие нужны ядра операционной системы.
И при использовании режима модуля Apache FastCGI тоже есть ограничения.
Количество “воркеров” (т.е. рабочих процессов) ограничено двумя. Т.е. режим FastCGI Вы включить можете, а максимальное число рабочих процессов – не можете. Фактически это ограничение означает, что только два посетителя одновременно (в один и тот же момент времени) могут увидеть Ваш сайт. Если пришел третий – ему надо подождать, пока двум предыдущим сервер отдаст страницу :(
В общем, надо смотреть конкретные цифры у конкретного хостера.
Те вариант VPS = OpenVZ+Apache+Nginx+FastCGI+PHP – он дешевый, но для серьезных проектов на подходит….
Он даже хуже (иногда) чем обычный виртуальный хостинг – на виртуальном хостинге сайты просто тормозить будут, а на VPS с OpenVZ при нехватке памяти – падать (SWAP-файла на диске нет по определению)…
А вот виртуализация KVM – это полноценный выделенный сервер VDS. Фактически на нем может быть запущена любая операционная система.
Нужно информационного сайта:
- или KVM брать – он дороже в 4 раза (и как минимум 2 ядра, 4 гига RAM и своп на диске), но там весь диск Ваш и можно сделать SWAP
- или выделенный сервер в железе – совсем дорого
- или домашнюю машину 4 ядра + 8 гиг (на том же 775 сокете) + хороший инет-канал 500 Мбит/с + KVM+Apache+Nginx+PHP (без FastCGI – только для дублирования сайта на хостинге) + DNS от Яндекса (с балансировщиком – основная отдача с домашнего сервера и плюс резерв с платной VPS) + CMS должна уметь делать синхронизацию из дома на сервер (статика и база)
- основная отдача с домашнего сервера и плюс резерв с платной VPS + на хостинг отдаем только статику html (генерируем статичный сайт из WP)
- Записи должны быть с html на конце (что бы физические файл создать)
- Те все дополнения и изменения делаем только дома на сервере WP+PHP, потом преобразовываем в статику
- На php остается только форма обратной связи – отдельный скрипт
Нужно для интернет-магазина:
- желательно облачное решение с ресурсами по требованию
- резкие всплески нагрузки (реклама, акции, сезонность)
- много пользователей в одном пике – память будет расти лавинообразно
- одного ядра не хватит для нормальной работы
- т.к. для каждого посетителя будет раздел “Вы смотрели” – страница каждый раз формируется заново
- кэширование готовых страниц мало поможет – значит, работает процессора и собирает из PHP станицы заново