Я использую ws
библиотеку в Node.JS.
Когда у меня более 100 клиентов, сервер WebSocket не может обрабатывать весь трафик, сервер отстает, но если пользователи отключены, сервер работает правильно. Я использую
Как обрабатывать огромный трафик на сервере WebSocket в Node.JS?Heroku
для хост-серверов. Что я могу сделать для оптимизации моих серверов/приложений? Должен ли я использовать другую услугу, кроме
Heroku
?
EDIT: Я использую платную версию Heroku (Хобби). Мой скрипт не длинный (около 140 строк).
EDIT: У меня есть 3 x VPS Cloud 3 из OVH.
- OpenStack KVM
- 99.99% ОАС
- 4 vCores
- 3,1 ГГц
- 8 ГБ ОЗУ
- 100 ГБ
- Высокая доступность NVMe (Ceph)
- Пропускная способность 100 Мбит
- Ubuntu Server 15
- 17 IP-адреса на сервере
Клиент -> VPS 1 -> ((VPS-2 -> example.com) + (VPS-3 -> example.com)) -> VPS 1 -> Client
Используете ли вы бесплатные экземпляры герою или добавляете ли вы «оплаченные» ресурсы на свой экземпляр? Предполагая, что у вас есть пользовательская база, которая вызывает такую сильную нагрузку на сервер, они должны получать достаточный доход, чтобы гарантировать добавление ресурсов. – Brant
Ваш вопрос очень широк и трудно ответить ... нам нужна дополнительная информация о вашем приложении ... В общем, ** Javascript однопоточный ** - это означает, что если ваш код длинный или блокирующий, ваш сервер выиграл ' t быть в состоянии ответить на многие клиенты. Чтобы решить эту проблему, ** используйте больше обратных вызовов **, это позволяет механизму Javascript чаще переключаться между задачами и реагировать на ожидающие клиенты между обратными вызовами. Ваши ответы могут занять больше времени, но вы будете оптимизировать свои существующие ресурсы, и вы сможете отвечать на другие запросы. – Myst