Назад | Перейти на главную страницу

TCP_NODELAY для туннеля SSL?

Я туннелирую HTTP-соединение через stunnel. Клиентская сторона изначально не поддерживает HTTPS, поэтому используется stunnel в клиентском режиме.

Поможет ли установка TCP_NODELAY = 1 быстродействию при обычном просмотре веб-страниц? Насколько я понимаю, алгоритм Нэгла группирует пакеты и отправляет данные, кратные размеру пакета.

Мой собственный тест, похоже, показал нулевую разницу, хотя, вероятно, потому, что моя интернет-ссылка на сервер слишком хороша.

Алгоритм Нэгла действительно влияет только на приложения, которые отправляют много небольших пакетов и чувствительны к задержке (например, SSH или telnet). Поскольку при просмотре веб-страниц используются относительно большие пакеты, при этом обе стороны отправляют несколько пакетов, не дожидаясь ответа, при настройке TCP_NODELAY.

Если вы хотите ускорить HTTPS:

  • включить KeepALive в протоколе HTTP
  • активировать сжатие
  • включить кеширование
  • установить / включить SPDY для вашего веб-сервера
  • измените порядок алгоритмов сжатия, чтобы вначале был более быстрый. Подумайте также о безопасности при включении / изменении порядка этих алгоритмов.