Задать вопрос

Чат на webSockets, количество пользователей?

Для какого количества пользователей можно использовать чат на ws. рационально ли использовать такой чат на сайте с посещаймостью в 1000 одновременных пользователей на сайте, учитывая то что если один пользователь откроет 5 вкладок с чатом будут созданы 5 разных соединений?
  • Вопрос задан
  • 1248 просмотров
Подписаться 7 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
@nirvimel
1000 * 5 НЕактивных (в основном простаивающих) открытых соединений - это вообще семечки.
Нужно иметь очень кривые руки, чтобы слепить архитектуру, которая бы заметно напряглась от этого.
Ответ написан
Комментировать
shevchenkonik
@shevchenkonik
Вы знаете, это дискуссионный вопрос. Есть множество статей от людей, которые испытывали нодовский сервер на прочность (например линк). Множество факторов влияющих на гибкость конструкции, начиная от RAM, CPU etc. В общем виде 1000 соединений не является избыточным, а для 5 вкладок можно делать ограничение по user-id.
Ответ написан
@Levhav
Возьмусь за разработку проектов любой сложности.
Вовсе не обязательно каждой вкладке иметь своё соединение с сервером. Я в своём проекте комет сервера comet-server.org реализовал js api так что все вкладки используют одно соединение на всех.

Проект открытый так что если будет не лень вы можете взять моё решение и прикрутить его к nodejs. Вот ещё статья про то как это можно сделать
Ответ написан
Комментировать
@asd111
Зависит от сервера и используемых технологий(Java, erlang или что то ещё).
Так например на java MigratoryData добивались 12 млн одновременных websocket соединений на сервере Dell PowerEdge R610(спеки сервера по ссылке).
На 12 млн соединений уходило примерно 50 Гбайт в пиках. Т.е. грубо говоря на одно соединение у них ушло примерно 4.4 Кбайт.
На erlang whatsapp достигал 2 млн tcp соединений на примерно похожем сервере. https://blog.whatsapp.com/196/1-million-is-so-2011?
Т.е. при правильном коде на erlang на 1000 соединений должно уйти не больше 49 Мбайт(не считая виртуальную машину), а на 5000 соединений должно уйти не больше 245 Мбайт.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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