我需要尽量减少从 Windows Server 2008 R2 向另一台具有相同操作系统的机器发送中等大小消息(~100kb)的延迟。
研究 wireshark 日志并查看 tcp 图表表明,超过一半的延迟是由 tcp 慢启动引起的:初始窗口大小太小,以至于当它增加到足以饱和网络带宽的值时,消息已经结束了。
谷歌搜索告诉我,在 Vista 之前的版本中,可以手动设置 TCP 窗口大小,但在 Vista 中可以“自动调整”。
是否仍然可以以某种方式(甚至以编程方式)为新的 tcp 连接设置此参数?
答案1
是的,可以调整初始拥塞窗口。
我一直从网络性能的角度来看待这个问题,可以看看这篇博文增加 Windows 2008 Server R2 上的 TCP 初始拥塞窗口
答案2
根据我所读到的所有内容,初始窗口大小似乎不可配置。您可以尝试关闭自动调整(netsh interface tcp set global autotuning=disabled
从提升的命令提示符中),然后看看这样做可以获得什么样的性能。(这看起来是一个真正的盲点,随着自动调整功能的引入,手动调整值的能力被剥夺了……)