SSL 隧道的 TCP_NODELAY 是什么?

SSL 隧道的 TCP_NODELAY 是什么?

我正在通过 stunnel 隧道建立 HTTP 连接。客户端本身不支持 HTTPS,因此使用客户端模式的 stunnel。

设置 TCP_NODELAY=1 是否有助于提高典型 Web 浏览的响应能力?据我了解,Nagle 算法将数据包打包并以数据包大小的整数倍发送数据。

我自己的基准测试似乎没有显示出任何差异,但可能是因为我与服务器的互联网链接太好了。

答案1

Nagle 算法实际上只会影响发送大量小数据包且对延迟敏感的应用程序(例如 SSH 或 telnet)。由于 Web 浏览涉及相对较大的数据包,并且双方都会发送多个数据包而不等待响应,因此设置 时不会有显著变化TCP_NODELAY

答案2

如果你想加速 HTTPS:

  • 在 HTTP 协议中启用 KeepALive
  • 启用压缩
  • 使能够缓存
  • 安装/启用快闪记忆体适用于您的 Web 服务器
  • 重新排序压缩算法,将较快的算法放在最前面。启用/重新排序这些算法时也要考虑安全性。

相关内容