Как долго я должен сохранять соединение с длительным опросом? - PullRequest
3 голосов
/ 08 марта 2012

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

Как долго я должен сохранять соединение с длительным опросом? 1 час или максимум 1 день?

1 Ответ

3 голосов
/ 08 марта 2012

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

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

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

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

...