windows-server-2012 – Receiver将TCP窗口大小限制为64,512
事实(请说明任何虚假陈述): >我在两个相隔80毫秒的站点之间有100 Mbps的连接 题 >为什么接收器保持窗口小? 无答案 >网络坏了 在同一网络上运行的Linux机器将TCP窗口打开到1.5兆字节,并以6倍的带宽传输数据 窗口缩放启发式被禁用(参见下面的“netsh interface tcp show heuristics”的输出) 接收窗口自动调整级别正常(参见下面的“netsh interface tcp show global”的输出) 在同一主机上运行的虚拟Linux机器上,性能提高了6倍. 2015年6月12日下午4:30更新 我通过将linux放在连接的一端来修改测试.果然,当linux向Windows Server 2012发送数据时,Windows提供了一个太小的TCP接收窗口(64,512字节). 当我将数据从Windows发送到linux时,linux提供了足够大的TCP接收窗口(1,365,120字节).但是,Windows限制发送到飞行中最多约60,000个字节. 更新于2015年6月13日下午3点(太平洋时间) 更接近根本原因的一步.在我的设置中,SO_SNDBUF和SO_RCVBUF都没有设置(通过iperf).这些是有效绑定接收窗口的发送和接收缓冲区.未指定这些值时,Windows Server 2012提供的默认值为64 kB.所以现在的问题是: 题 >如果未指定一个,为什么Windows Server 2012不会动态增加SO_SNDBUF / SO_RCVBUF以适应MSDN所述的长胖管道? 无答案 >“netsh winsock show autotuning”已禁用 它已启用. 更新于2015年8月24日下午4点(太平洋时间) netsh显然已被Set-NetTCPSetting和family取代. Get-NetTCPSetting结合Get-NetTCPConnection显示我在“互联网”制度下运行,它为我提供了以下设置: SettingName : Internet MinRto(ms) : 300 InitialCongestionWindow(MSS) : 4 CongestionProvider : CTCP CwndRestart : False DelayedAckTimeout(ms) : 50 MemoryPressureProtection : Enabled AutoTuningLevelLocal : Normal AutoTuningLevelGroupPolicy : NotConfigured AutoTuningLevelEffective : Local EcnCapability : Enabled Timestamps : Disabled InitialRto(ms) : 3000 ScalingHeuristics : Disabled DynamicPortRangeStartPort : 49152 DynamicPortRangeNumberOfPorts : 16384 发件人TCP设置 PS C:\Users\acs> netsh interface tcp show global Querying active state... TCP Global Parameters ---------------------------------------------- Receive-Side Scaling State : enabled Chimney Offload State : disabled NetDMA State : disabled Direct Cache Access (DCA) : disabled Receive Window Auto-Tuning Level : normal Add-On Congestion Control Provider : none ECN Capability : enabled RFC 1323 Timestamps : disabled Initial RTO : 3000 Receive Segment Coalescing State : enabled PS C:\Users\acs> netsh interface tcp show heuristics TCP Window Scaling heuristics Parameters ---------------------------------------------- Window Scaling heuristics : disabled Qualifying Destination Threshold : 3 Profile type unknown : normal Profile type public : normal Profile type private : normal Profile type domain : normal PS C:\Users\acs> Get-NetTCPSetting SettingName : Automatic MinRto(ms) : InitialCongestionWindow(MSS) : CongestionProvider : CwndRestart : DelayedAckTimeout(ms) : MemoryPressureProtection : AutoTuningLevelLocal : AutoTuningLevelGroupPolicy : AutoTuningLevelEffective : EcnCapability : Timestamps : InitialRto(ms) : ScalingHeuristics : DynamicPortRangeStartPort : DynamicPortRangeNumberOfPorts : SettingName : Custom MinRto(ms) : 20 InitialCongestionWindow(MSS) : 4 CongestionProvider : DCTCP CwndRestart : True DelayedAckTimeout(ms) : 10 MemoryPressureProtection : Enabled AutoTuningLevelLocal : Normal AutoTuningLevelGroupPolicy : NotConfigured AutoTuningLevelEffective : Local EcnCapability : Enabled Timestamps : Disabled InitialRto(ms) : 3000 ScalingHeuristics : Disabled DynamicPortRangeStartPort : 49152 DynamicPortRangeNumberOfPorts : 16384 SettingName : Compat MinRto(ms) : 300 InitialCongestionWindow(MSS) : 2 CongestionProvider : Default CwndRestart : False DelayedAckTimeout(ms) : 200 MemoryPressureProtection : Enabled AutoTuningLevelLocal : Normal AutoTuningLevelGroupPolicy : NotConfigured AutoTuningLevelEffective : Local EcnCapability : Enabled Timestamps : Disabled InitialRto(ms) : 3000 ScalingHeuristics : Disabled DynamicPortRangeStartPort : 49152 DynamicPortRangeNumberOfPorts : 16384 SettingName : Datacenter MinRto(ms) : 20 InitialCongestionWindow(MSS) : 4 CongestionProvider : DCTCP CwndRestart : True DelayedAckTimeout(ms) : 10 MemoryPressureProtection : Enabled AutoTuningLevelLocal : Normal AutoTuningLevelGroupPolicy : NotConfigured AutoTuningLevelEffective : Local EcnCapability : Enabled Timestamps : Disabled InitialRto(ms) : 3000 ScalingHeuristics : Disabled DynamicPortRangeStartPort : 49152 DynamicPortRangeNumberOfPorts : 16384 SettingName : Internet MinRto(ms) : 300 InitialCongestionWindow(MSS) : 4 CongestionProvider : CTCP CwndRestart : False DelayedAckTimeout(ms) : 50 MemoryPressureProtection : Enabled AutoTuningLevelLocal : Normal AutoTuningLevelGroupPolicy : NotConfigured AutoTuningLevelEffective : Local EcnCapability : Enabled Timestamps : Disabled InitialRto(ms) : 3000 ScalingHeuristics : Disabled DynamicPortRangeStartPort : 49152 DynamicPortRangeNumberOfPorts : 16384 (编辑:ASP站长网) |