Положите рядом два тарифа VPS, и строки характеристик часто выглядят одинаково: 4 vCPU, 8 GB RAM, NVMe, 1 Gbit/s, безлимит. Потом на одном ваше приложение работает гладко, а другой каждый вечер подвисает. Строка характеристик, строго говоря, не врёт. Она просто умалчивает о том, что важно.
Эта статья — о сравнении тарифов внутри категории VPS. Если вы ещё решаете, подходит ли вам VPS вообще, начните со статьи VPS, shared-хостинг, выделенный сервер или облако.
vCPU: потолок, а не гарантия
Слово, за которым прячется больше всего. На большинстве VPS-платформ vCPU — это кусок времени физического ядра, который планировщик выдаёт вперемешку с кусками других клиентов. Число в тарифе — сколько таких кусков можно использовать одновременно во время всплеска. Можно ли держать их все на 100% часами — отдельный вопрос, и ответ на него (если он вообще есть) прячется в правилах честного использования.
О своих тарифах скажем конкретно, потому что именно расплывчатость здесь всё портит: число vCPU — это потолок для коротких всплесков, а не выделенные физические ядра, и длительная полная нагрузка на CPU может ограничиваться, чтобы всем на машине было честно. Для веб-приложений, ботов, агентов и баз данных это редко заметно. Для многочасового кодирования видео — заметно.
Что спросить до покупки: число vCPU гарантированное или для всплесков, и что будет при длительной нагрузке? Что проверить после: столбец st (steal) в vmstat. Устойчивый двузначный steal значит, что вы ждёте, пока закончится чужая работа.
RAM: единственная честная цифра
Память меньше всего поддаётся трактовкам. 8 GB — это 8 GB. Вопрос только в том, хватит ли этого вашей задаче и не перепродаёт ли её провайдер, что вы заметите по необъяснимому свопингу. Если не уверены, сколько нужно, статья Когда вам на самом деле нужно 64 GB RAM показывает, как отличить проблему с памятью от проблемы с диском или CPU.
NVMe: интерфейс, а не скорость
NVMe — это интерфейс хранилища, и он намного быстрее старого SATA. Но ярлык ничего не говорит о том, сколько серверов делят одни и те же диски и есть ли у каждого сервера лимит ввода-вывода. Тариф может обещать NVMe и под нагрузкой выдавать скромную пропускную способность. Все наши тарифы на NVMe; и всё равно мы бы предпочли, чтобы вы это проверили, а не поверили на слово.
Размер диска важнее, чем кажется. База, логи и пара Docker-образов съедают 15 GB быстрее, чем ожидаешь, а тарифы на месте только растут, так что берите диск, который понадобится через полгода.
«1 Gbit/s»: скорость порта, а не пропускная способность
Это скорость соединения между вашим сервером и коммутатором. Это не обещание, что вы всегда получите гигабит куда угодно. Что вы получите, зависит от загрузки канала и от маршрута до другой стороны.
Наши цифры для ориентира: у Linux-тарифов порт 1 Gbit/s, у Windows-тарифов 150 Mbit/s. На свободном канале один Linux-сервер получает около 940 Mbit/s в каждую сторону; когда заняты сразу несколько серверов, канал делится поровну между теми, кто активно передаёт данные. Подробности, включая то, как провести тест скорости, который вас не обманет, — в разделе Трафик и скорость.
«Безлимит»: нет квоты, но есть пределы
Безлимит значит, что никто не считает ваши терабайты и нет замедления после месячного лимита. Это не значит безлимитную скорость: порт и честная доля, о которых выше, никуда не деваются. С фразой «неограниченная пропускная способность» будьте вдвойне внимательны. Обычно это безлимит плюс пункт о честном использовании, и настоящий предел живёт именно в этом пункте.
Строки, которых нет в характеристиках
Часть самых больших различий между тарифами вообще не попадает в заголовок:
- Есть ли свой IPv4. Тариф без собственного IPv4 не может держать сайт по IPv4. Здесь Small за $8 — это NAT, а Small-IP за $16 — тот же размер со своим адресом; чем это различается на практике, объясняет статья Что может и чего не может один проброшенный порт.
- Бэкапы. Включены, платная опция или ваша забота.
- Период оплаты. Годовые тарифы здесь на 10% дешевле помесячной оплаты.
- Локация. Наши — в Германии и Финляндии. Выбирайте ту, что ближе к вашим пользователям или к API, с которым говорит ваш бот.
- Смена тарифа. Можно ли вырасти на месте и сколько это занимает? Можно ли уменьшиться?
Как сравнивать цены и не обмануть себя
Делить цену на гигабайты RAM соблазнительно и в основном бесполезно. Тариф, дешёвый в пересчёте на гигабайт, но без IPv4, с платными бэкапами и маленьким диском, может обойтись дороже «дорогого», как только вы добавите то, что вам действительно нужно. Соберите одинаковую полную конфигурацию с обеих сторон, с адресом, бэкапами и диском, которые вы будете использовать, и сравните месячный итог.
Проверьте новый сервер в первый час
Большинство провайдеров дают попробовать недорого. Потратьте первый час на замеры, а не на установку:
nproc && lscpu | grep 'Model name'
vmstat 1 30 # watch the st column
fio --name=rand --rw=randread --bs=4k --size=1G --runtime=30 --time_based --direct=1
iperf3 -c <a test server near you> -P 4 -t 20
Запустите те же команды вечером, в час пик. Если цифры разваливаются, вы узнали это дёшево.
Где это не работает
Характеристики ничего не скажут о поддержке, о том, как провайдер разбирает жалобы на абуз, или о том, что будет, когда откажет железо. Замеры за один час не предсказывают следующий месяц. А для некоторых задач всё это вообще неважно: Telegram-бот на Nano не заметит разницы между хорошим диском и отличным. Соизмеряйте усилия на сравнение со ставками. Для бота за $3 выберите что-то разумное и двигайтесь дальше. Для продакшн-базы — тестируйте.
Посмотрите тарифы VPS с этими вопросами в руках, а если переезжаете откуда-то ещё, порядок переезда есть в статье Как перенести VPS без простоя.
Комментарии
Пока нет комментариев. Будьте первым.