2016-06-22 7 views
0

Использование сервера nodeus и клиента с socket.io Я могу позволить клиентам 14k подключиться. Чуть меньше даже при использовании кластеризации.Предел подключения в socket.io

Ни процессор, ни ОЗУ не исчерпаны. За исключением автоматического пинга, который socket.io сам по себе не передает данные.

Транспорт разрешен для использования только у «websocket», без опроса!

Другие клиенты просто терпят неудачу по причине «тайм-аута».

Что может быть причиной этого?

Я мог бы понять, если машина недостаточно мощная. Но тогда я ожидал бы, что сервер будет случайным образом отказываться от клиентов в любом случае и не будет оставаться в определенной сумме каждый раз, когда я его попробую.

Редактировать: это на Windows с использованием веб-бури, я смогу проверить на машине Linux, когда смогу.

+1

Возможно, эта проблема с socket.io связана с вашей проблемой: https://github.com/primus/primus/issues/355 – Jasper

+0

К сожалению нет, другая программа, написанная в C# с использованием обычных сокетов tcp, не имеет этой проблемы. Также, когда я использую кластеризацию, число ниже без причины. – riki

ответ

0

У меня была аналогичная проблема при тестировании https://www.codiva.io с socket.io. Проблема заключалась в ограничении количества открытых файловых дескрипторов и, следовательно, количества портов. Это было в Ubuntu Linux, где предел по умолчанию составлял около 4k. Это может быть связано с этим.

+0

На машине Windows я тестирую, я могу открыть 16k + соединения, когда я пишу как сервер, так и клиент в C#. – riki

0

Эта статья может помочь вам по пути: http://drewww.github.io/socket.io-benchmarking/

Я задавался один и тот же вопрос, так что я в конечном итоге написание небольшой тест (с использованием XHR-опрос), чтобы увидеть, когда соединения начали неудачно (или отстать). Я обнаружил (в моем случае), что сокеты начали действовать примерно на 1400-1800 одновременных соединений.

 Смежные вопросы

  • Нет связанных вопросов^_^