Мифов вокруг стоимости Telegram-ботов много. Одни думают, что 100k подписчиков — это тысячи долларов в месяц. Другие — что "бот бесплатно, ничего не жрёт". Правда: 100k активных подписчиков вполне живут на VPS за €5-10/мес. Ниже — разбор реального счёта на всё, что нужно.
Что жрёт бот в реальности
Три источника нагрузки на серверные ресурсы.
- Инкоминг сообщения — типично 1-5 msg/sec для 100k подписчиков (не все пишут одновременно).
- Рассылки — раз в день/неделю — 100k сообщений за 3-5 минут (Telegram лимит ~30 msg/sec без warm-up).
- База данных — обычно PostgreSQL 200-500 МБ на 100k user-профилей.
Минимальный тариф VPS
2 vCPU / 4 ГБ RAM / 40 ГБ NVMe — базовая рекомендация. Реальные показатели на нашем VPS €5/мес:
- CPU idle: 95-99 %.
- RAM used: 800-1200 МБ (бот + Postgres + Redis).
- Диск: 5-8 ГБ (после года работы).
- Трафик: 10-30 ГБ/мес.
Пики: рассылка на 100k
Разовая рассылка утилизирует CPU на 30-50 % в течение 5 минут. RAM растёт до 1500-2000 МБ (буфер очереди). Это в пределах 2 vCPU / 4 ГБ.
Опасно: рассылка + одновременный инкоминг + long-running query в БД. Разово может улететь в OOM. Решение: swap 1-2 ГБ + мониторинг + rate-limit на рассылку.
Полный список расходов
Всё, что реально нужно платить.
- VPS 2/4/40 — €5-8/мес (у нас, у Hetzner напрямую €4.51).
- Snapshot / бэкап — 0-2/мес (обычно бесплатно).
- Домен (не обязателен для бота, но для admin-panel) — €10/год = €0.8/мес.
- Мониторинг — 0 (свой Prometheus на том же VPS).
- Итого: €6-11/мес всей инфры.
Когда 100k становится дороже
Ситуации, когда базового тарифа не хватает.
- Активные пользователи чат-бот с ИИ — 100 msg/sec, CPU-жор от LLM. Здесь VPS €30+ или GPU-инстанс.
- Медиа-контент — бот отправляет 100k картинок/видео регулярно → трафик 100+ ГБ → тариф с большим квотированием.
- Real-time рассылки < 1 мин — вертикальный резерв 4-8 vCPU / 16 ГБ или горизонтальный (multi-worker + Redis очередь).
- Сложная аналитика — dashboard с миллионами строк → отдельная нода под ClickHouse.
Оптимизация
Что позволяет держать 500k подписчиков на том же VPS €5.
- Redis для сессий/кеша — снижает нагрузку на Postgres в 10 раз.
- Rate-limit на invalid inputs — 90 % "нагрузки" от 5 % пользователей, шпамящих командами.
- Batched writes в БД — вместо
INSERTна каждое сообщение — очередь + batch insert раз в 5 сек. - Индексы — большинство ботов имеют 2-3 неоптимизированных запроса, съедающих 80 % CPU БД.