Количество веб-сокетов на одной странице - PullRequest
2 голосов
/ 01 августа 2010

Я создаю сложное приложение HTML 5, которое использует преимущества Websockets.Я подхожу к тому, что у меня есть много разных типов данных, которые обновляются в режиме реального времени на экране.

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

Я добавил http://github.com/TooTallNate/Java-WebSocket сервер веб-сокетов в свое приложение Grails.

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

Есть ли у кого-нибудь совет, как мне это сбалансировать?

Спасибо за любые советы заранее.Кит Бланшар

Ответы [ 2 ]

0 голосов
/ 16 февраля 2012

Лично я провел некоторые тесты для этого, и результаты:

10 веб-сокетов на одной странице приведут к тому, что страница будет немного не отвечать, когда данные поступают из каждого сокета.

50websockets на одной странице вызовет невыносимое замораживание в сети.

Таким образом, где-то около 10 или меньше 10 будет вашим верхним пределом.

0 голосов
/ 02 августа 2010

Я думаю, что трудно сделать какие-либо разумные заявления о веб-сокетах без измерения фактической производительности в определенных браузерах.

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

Опять же, нужно реально измерить, чтобы сделать разумные заявления по этому поводу.

Websocket-per-client также сделает приложение намного более управляемым ... зависит от вашего фактического варианта использования, но «больше параллелизма» не обязательно лучше и может сделать управление состоянием невероятно сложным.

...