У меня есть сервер Tornado, работающий позади обратного прокси-сервера Nginx. Прокси-сервер настроен на tcp_nodelay: on
. Я вижу, что есть возможность вызвать WebSocketHandler.set_nodelay(True)
экземпляр WebSocket после его подключения.Tornado за Nginx, следует ли использовать конфигурацию nodelay для TCP в python или nginx.conf?
Эти два эффекта создают тот же эффект? Есть ли pro's con для использования одного над другим? Или оба?
Спасибо за быстрый ответ @ ben-darnell! Что касается второй части, вы говорите, что любые проксированные ws над nginx не будут переходить в состояние keep-alive? Значит, это не значит, что только метод Tornado ws handler будет иметь какой-либо эффект в этом стеке? – ydaniv
Соединения с веб-сайтами никогда не находятся в состоянии keep-alive, поэтому этот параметр не будет применяться к ним. Могут быть другие настройки, которые применяются, или в этом случае они могут быть включены по умолчанию. Если nginx не включит «TCP_NODELAY», включение его на уровне Tornado вряд ли будет иметь большое влияние, так как ваши пакеты будут отправлены в nginx немедленно, но при использовании алгоритма nagle они будут поддерживаться в nginx. –
ОК, так что, по крайней мере, я уверен, что сообщения на этом пути отправляются немедленно. Теперь нужно, чтобы эта другая копилка покачивалась (: – ydaniv