2012-03-08 2 views
2

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

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

ответ

2

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

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

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

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

+0

Когда соединение отбрасывается после таймаута, оно снова подключается для повторного вызова длинного опроса, правильно? Дело не в том, чтобы держать его открытым на неопределенный срок, просто перерабатывать его с новым соединением? – raffian

+0

точно ............ –

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