Windows 2019将TCP拥塞算法修改为CTCP来提速上传,修改默认值cubic
Windows 2019将TCP拥塞算法修改为CTCP来提速上传,修改默认值cubic查询命令
netsh int tcp show global
netsh int tcp show supplemental
Windows 10
查询活动状态...
TCP 全局参数
----------------------------------------------
接收方缩放状态 : enabled
接收窗口自动调节级别 : normal
加载项拥塞控制提供程序: default
ECN 功能 : disabled
RFC 1323 时间戳 : disabled
初始 RTO : 1000
接收段合并状态 : enabled
非 Sack Rtt 复原 : disabled
最大 SYN 重新传输次数 : 4
快速打开 : enabled
快速打开回退 : enabled
HyStart : enabled
比例费率降低 : enabled
节奏配置文件 : off
TCP 全局默认模板为 internet
TCP 补充参数
----------------------------------------------
最小 RTO (毫秒) : 300
初始拥塞窗口(MSS) : 10
拥塞控制提供程序 : cubic
启用拥塞窗口重新启动 : disabled
延迟 ACK 超时(毫秒) : 40
延迟 ACK 频率 : 2
启用 RACK : enabled
启用尾部丢失探测 : enabled
请使用 "netsh int tcp show supplementalports" 和
"netsh int tcp show supplementalsubnets" 命令查看活动的筛选器。
Windows 2019
查询活动状态...
TCP 全局参数
----------------------------------------------
接收端缩放状态 : enabled
接收窗口自动调节级别 : normal
附加拥塞控制提供程序: default
ECN 功能 : enabled
RFC 1323 时间戳 : disabled
初始 RTO : 3000
接收段合并状态 : enabled
非 Sack Rtt 复原 : disabled
最大 SYN 重新传输次数 : 2
快速打开 : disabled
快速打开回退 : enabled
HyStart : enabled
节奏配置文件 : off
TCP 全局默认模板为 automatic
自动模式基于 TCP 连接参数在 Internet 和 Datacenter 模板
之间选取。
请使用 "netsh int tcp show supplementalports" 和
"netsh int tcp show supplementalsubnets" 命令查看活动的筛选器。
观察字段拥塞控制提供程序,可以看到系统默认值为cubic
也可以用 PowerShell 来查看,可观察到Windows 10和Windows 2019输出结果一致为cubic
Get-NetTCPSetting | Select SettingName, CongestionProvider
SettingName CongestionProvider
----------- ------------------
Automatic
InternetCustom CUBIC
DatacenterCustom CUBIC
Compat NewReno
Datacenter CUBIC
Internet CUBIC
根据结果,Windows server 2016 和 2012 使用默认拥塞控制算法作为 DCTCP。支持的另一种是 CTCP。
以下是根据 Microsoft 文档对两种拥塞控制算法的定义。
CTCP:构成 TCP 增加了接收窗口和发送的数据量。此值可以提高更高延迟连接的吞吐量。
DCTCP:数据中心 TCP 根据基于显式拥塞通知 (ECN) 信号的网络拥塞反馈调整 TCP 窗口。该值可以提高低延迟链路的吞吐量。
从 Windows server 2019 开始,默认的变成了 CUBIC,和 Linux 一样。
两种设置方法,立即生效无需重启系统,可以看到Windows 10默认值为internet,2019为automatic,包含了internet和Datacenter
cmd设置方法
netsh int tcp set supplemental template=internet congestionprovider=ctcp
netsh int tcp set supplemental template=Datacenter congestionprovider=ctcp
PowerShell设置方法
Set-NetTCPSetting -SettingName "internet" -CongestionProvider CTCP
Set-NetTCPSetting -SettingName "Datacenter" -CongestionProvider CTCP
参考文档:https://docs.microsoft.com/en-us/powershell/module/nettcpip/set-nettcpsetting?view=windowsserver2019-ps&viewFallbackFrom=win10-ps
https://community.spiceworks.com/topic/2225989-server-2019-network-performance
https://docs.microsoft.com/en-US/windows-server/networking/technologies/network-subsystem/net-sub-performance-tuning-nics#bkmk_tcp
实测修改成CTCP后没有改善,,,用bbr加速是真的有效果
标记不懂路过{:3030:}
页:
[1]