用于SSL隧道的TCP_NODELAY?

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

在典型的网页浏览中设置TCP_NODELAY = 1是否有助于响应? 按照我的理解,Nagle的algorithm将数据包聚集起来,并以整个数据包的大小发送数据。

我自己的基准似乎显示了零差异,虽然可能是因为我的互联网连接到服务器太好了。

Nagle的algorithm只影响发送很多小数据包和延迟敏感的应用程序(如SSH或telnet)。 由于网页浏览涉及相对较大的数据包,双方发送多个数据包而不等待响应,因此设置TCP_NODELAY时不会有重大变化。

如果你想加快HTTPS:

  • 在HTTP协议中启用KeepALive
  • 启用压缩
  • 启用caching
  • 为您的Web服务器安装/启用SPDY
  • 重新排列压缩algorithm,以便将更快的压缩algorithm放在开头。 启用/重新sorting这些algorithm时还要考虑安全性。