Вопрос по node.js – Сколько пользователей может поддерживать Nodejs & Socket.io?

22

У меня есть сайт, который реализует broadcast.emit. который отправляет сообщение всем пользователям сайта. Это просто простейшая реализация socket.io, но у меня сейчас проблема. Когда я нажал около 100 одновременно работающих пользователей. Сервер nodejs начинает зависать, пока не зависает, и я больше не могу получить доступ ко всему сайту. Когда мы проверили сервер. Nodejs занимает 100% процессорного времени. Это нормально?

Мне было интересно, сколько пользователей может поддерживать socket.io? И когда это произойдет, есть ли способ перезапустить сервер nodejs программно?

Можете ли вы дать нам некоторую информацию о спецификации сервера? UpTheCreek

Ваш Ответ

3   ответа
17

Не менее 250к одновременные соединения (и в большинстве случаев узким местом является память)

Error: User Rate Limit Exceeded 3s2ng
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededblog.caustik.com/2012/08/19/node-js-w1m-concurrent-connections
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded 3s2ng
3

не отбрасывая их? Если нет, я предлагаю использовать вызов socket.volatile.emit. Может быть много проблем с удаленными клиентами и нестабильными соединениями.

Error: User Rate Limit Exceeded 3s2ng
Error: User Rate Limit Exceededsocket.volatile.emitError: User Rate Limit Exceeded
20

ружает мой процессор на 3000 одновременных пользователей. Это на процессоре Intel i7. Из-за этого мне нужно запустить несколько процессов node / socket.io для обработки нагрузки.

Для 100 одновременных подключений у вас должно быть все в порядке. Возможно, вы используете какой-то VPS, а процессор используется совместно со всеми другими виртуальными машинами? Вы запускаете выделенный сервер?

Также проверьте свой код. Вы можете синхронно делать некоторые вещи, которые должны работать асинхронно.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

Похожие вопросы