我正在通过 stunnel 隧道建立 HTTP 连接。客户端本身不支持 HTTPS,因此使用客户端模式的 stunnel。
设置 TCP_NODELAY=1 是否有助于提高典型 Web 浏览的响应能力?据我了解,Nagle 算法将数据包打包并以数据包大小的整数倍发送数据。
我自己的基准测试似乎没有显示出任何差异,但可能是因为我与服务器的互联网链接太好了。
答案1
Nagle 算法实际上只会影响发送大量小数据包且对延迟敏感的应用程序(例如 SSH 或 telnet)。由于 Web 浏览涉及相对较大的数据包,并且双方都会发送多个数据包而不等待响应,因此设置 时不会有显著变化TCP_NODELAY
。