2015-02-16 3 views
0

Чтобы уменьшить латентность для приложения в реальном времени на основе веб-приложений, я пытаюсь деактивировать алгоритм Нагле, используя Tornado WebSocketHandler, написанный на python. Документация говорит, чтобы использовать этот метод на открытие соединения:Tornado WebSocket Handler деактивирует алгоритм Nagle

self.set_nodelay(True) 

Я пытался, но TCP сообщение все еще получать скрепляются.

Я работаю за прокси-сервером, возможно, что Nagle также работает на уровне прокси-сервера?

Спасибо вам за помощь

+0

Какая версия Tornado вы используете и в какой операционной системе? –

+0

Я использую торнадо, поставляемый с Rosbridge Suite, который является версией 4.0 с Ubuntu 12.04 – webaba

+0

С каким прокси вы работаете? Squid/лаки/Nginx? –

ответ

1

Да (корпоративный) прокси испортите соединения асинхронных. Одним из подходов было бы использовать соединения SSL/TLS, чтобы прокси-сервер не мог вставить свой нос в трафик и больше не может его изменять. Но задерживаемые ACK, которые являются основой явлений Nagle, выдаются на транспортном уровне, который ниже SSL/TLS-шифрования, поэтому шифрование не будет решать задержанные ACK, но это позволит решить задержки прокси-сервера из-за манипуляций данными уровня приложения.

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