Коротко — точного числа «из коробки» назвать нельзя. На 1 vCPU / 4 GB / 10 GB количество одновременных клиентов определяется не столько диском, сколько тремя вещами: пропускной способностью сети, нагрузкой на CPU (шифрование/шифры) и потреблением памяти/ресурсов на соединение. Ниже — как оценивать и примеры.
Что влияет (подробно)
- VPN‑протокол. WireGuard обычно значительно легче и быстрее по CPU, OpenVPN (особенно over TCP) и IPSec — тяжелее. TLS‑handshake (много новых подключений) даёт всплески CPU.
- Пропускная способность канала VPS у провайдера (например, 100 Mbps, 1 Gbps). Это часто основной лимит при активном трафике.
- CPU (одно ядро): шифрование и обработка пакетов — основной бутылочный горлышко на 1 vCPU. WireGuard даёт больше Mbps/ядро, OpenVPN — меньше.
- Средняя скорость / трафик на одного пользователя. Один стрим HD ~5–10 Mbps, обычный веб/почта/мессенджеры — десятки–сотни kbps.
- Память на соединение и системные лимиты (file descriptors, conntrack). Обычно потребление RAM на один туннель невелик — от сотен KB до нескольких MB в зависимости от сервера/реализации.
- Количество одновременных новых подключений (handshake) — пиковая CPU‑нагрузка.
- Логи/аутентификация (если используется БД или много логов на диск) — может влиять, но редко доминирует.
Как прикинуть самостоятельно (простой подход)
Вычислите три ограничения и берите минимальное:
1) По сети: max_by_net = (канал провайдера в Mbps) / (средний Mbps на пользователя)
2) По CPU: max_by_cpu = (оценочная пропускная способность VPN на вашем 1 vCPU в Mbps) / (средний Mbps на пользователя)
3) По RAM: max_by_ram = (доступная RAM для соединений в MB) / (память на 1 соединение в MB)
Реальный максимум = min(max_by_net, max_by_cpu, max_by_ram), с запасом на пиковые нагрузки.
Примеры (приближённо)
- Лёгкая нагрузка (чат/почта/серфинг): ~0.05–0.2 Mbps на пользователя.
- Если канал VPS = 100 Mbps → теоретически 500–2000 пользователей по сети.
- Но CPU на 1 vCPU и OpenVPN может ограничить до сотен; с WireGuard — сотни–тысячи при очень малом трафике.
- Средняя веб/стриминг (основной серфинг, немного видео): ~1–3 Mbps на пользователя.
- 100 Mbps → ~33–100 пользователей.
- Видео HD/стриминг: 5–10 Mbps на пользователя.
- 100 Mbps → ~10–20 пользователей.
Заметьте: даже если RAM позволяет сотни/тысяч, узкими местами будут сеть и CPU.
Практические рекомендации для увеличения числа пользователей
- Выбрать WireGuard (меньше CPU‑затрат) и UDP.
- Убедиться, что VPS поддерживает AES‑NI / аппаратное ускорение (если используете AES).
- Минимизировать логирование и лишние проверки при передаче пакетов.
- Тонкая настройка sysctl: net.core.rmem_max/wmem_max, net.ipv4.ip_forward, conntrack‑таймауты и т. п.
- Увеличить ulimit -n (file descriptors) для поддержки многих сокетов.
- При необходимости — масштабировать горизонтально (несколько VPS + балансировщик или DNS‑раунд‑робин).
- Тестировать нагрузку: iperf3/iperf, tc/netem для симуляции клиентов, смотреть top/htop, vmstat, iftop, ss, conntrack.
Чем могу помочь я
Если скажете:
- какой у вас протокол (WireGuard/OpenVPN/IPSec),
- какая у VPS фактическая сет. скорость у провайдера (например, 100 Mbps),
- типичная нагрузка одного пользователя (в kbps/mbps),
— я посчитаю более конкретную оценку и дам рекомендации по настройке/тестированию.