Один из самых частых вопросов до покупки VPS — "а хватит ли мне?". Слишком мало ресурсов — сайт лежит на пиках; слишком много — платите за неиспользуемое железо. Хорошая новость: базовый расчёт делается за 15 минут по простой методике.
Ниже — разбираем, как посчитать vCPU / RAM / диск / трафик для 4 типичных сценариев + правила запаса.
Универсальная формула
Три параметра, из которых складывается всё остальное.
- Пик RPS (requests per second) — сколько запросов в секунду в самый нагруженный час.
- Среднее время обработки одного запроса (мс).
- Средний размер отдаваемого ответа (КБ HTML/JSON + прикреплённая статика).
Сценарий 1: WordPress-блог 5-20k визитов/день
Обычный контентный блог: SSR при первом рендере, кеш на 90 % запросов. Пик — ~1-2 RPS.
Расчёт: 2 vCPU (запас на всплески), 4 ГБ RAM (WP + MySQL + кеш), 40 ГБ NVMe, 1 ТБ трафика. Тариф €5-8/мес.
Сценарий 2: интернет-магазин 100-500 заказов/день
OpenCart / WooCommerce / Bitrix. Читаемых запросов больше (каталог), запись — при заказах. Пик — 5-10 RPS.
Расчёт: 4 vCPU, 8 ГБ RAM (БД + PHP-FPM пул из 20 worker'ов + кеш), 80 ГБ NVMe (картинки товаров), 3 ТБ трафика. Тариф €15-25/мес.
Сценарий 3: SaaS API до 100 RPS
Node.js/Go/Python API + Postgres + Redis. 100 RPS = ~500k запросов/час на пике.
Расчёт: 4-8 vCPU (multi-worker), 16 ГБ RAM (Postgres shared_buffers + приложение), 160 ГБ NVMe, 2 ТБ трафика. Тариф €30-45/мес. При росте >500 RPS — резать на 2 VPS + load balancer.
Сценарий 4: Telegram-бот с 100k подписчиков
Long polling или webhook, БД — обычно PostgreSQL / SQLite. Реальная нагрузка низкая — 10-50 msg/sec на пике.
Расчёт: 2 vCPU, 4 ГБ RAM, 40 ГБ NVMe, 500 ГБ трафика. Тариф €5-8/мес. Ключевое — стабильная сеть, не мощный CPU.
Правила запаса и мониторинг
Никогда не покупайте VPS "впритык". Правила запаса:
- CPU 60-70 % загрузки на пике — потолок штатной работы.
- RAM 70-80 % — выше идёт swap и деградация.
- Диск 70 % — оставьте место под логи и temp.
- Мониторить обязательно: node_exporter + Prometheus + Grafana (см. отдельный гайд).
У нас — resize CPU/RAM за 60 сек без миграции. Начните с минимума, вырастите по факту нагрузки. Не переплачивайте за "на всякий случай".