@softshape

Long Polling тормозит браузер — как это исправить?

Всем привет,

на сайте с помощью Nginx Push Stream Module работают long polling-уведомления. Напомню, что их особенность в том, что на странице постоянно открыто одно соединение с сервером. Так вот, если на 6-7 вкладках в браузере (Mozilla, Chrome) открыть сайт, то на любой новой вкладке он будет тормозить. Такое ощущение, что браузер выделяет сайту 6-7 потоков и на новой вкладке начинает качать все - скрипты, картинки - в один поток в бесконечными тормозами.

Это как-то исправляется?
  • Вопрос задан
  • 3157 просмотров
Решения вопроса 1
@Levhav
Возьмусь за разработку проектов любой сложности.
Я правильно понял что у вас на каждой из вкладок создаётся long polling соединение с сайтом? Если так то всё правильно, на сколько я помню по стандарту c одним доменом должно быть не более 2 соединений chrome ограничивается шестью. Дальше он ждёт пока завершится одно из открытых соединений.

Варианта два:
Не правильно:
1. отправлять long polling на разные подменены обходя ограничение открытых соединений, но это не правильно так как тот же chrom в сумме на все домены открывает только 255 соединений и проблема повторится.

Правильно:
2. открывать на все вкладки одно общие соединение и все данные гонять только через него. А обмен сообщениями между вкладками проводить через событие onStorage.

Можете в качестве примера разобрать JS API от моего comet сервера (https://github.com/Levhav/CometServerApi.js)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы