|
本帖最后由 fulibo 于 2024-5-6 08:17 编辑
20240506 补充
initialrto:设置延迟确认超时的值,单位是毫秒。这可以控制TCP在发送确认之前的等待时间。
fastopen - 启用/禁用 TCP 快速打开。
default: 将状态还原为系统默认值。
fastopenfallback - 启用/禁用 TCP 快速打开回退。
default: 将状态还原为系统默认值。
initialrto - 连接(SYN)重新传输时间(以毫秒为单位)。默认值: 3000。
启用RSS (Receive Side Scaling)
如果你使用的是多核处理器,并且你的网卡支持RSS,那么启用RSS可以帮助网络数据包更有效地在多核之间分发,提高网络接收性能。
netsh int tcp set global rss=enabled
调整TCP窗口大小
在某些情况下,增加TCP窗口大小可以允许更多的数据在网络中一次性传输,减少往返时间(RTT),从而提高吞吐量。
netsh int tcp set global autotuninglevel=normal
注意:不要随意设置为disable,因为这会使TCP窗口大小固定,可能不适用于所有网络环境。
选择适当的拥塞控制算法
如果网络中存在特定的拥塞问题,你可能需要选择一个不同的拥塞控制算法来优化性能。Windows提供了多种拥塞控制算法,如Ctcp, Cubic等。
netsh int tcp set global congestionprovider=ctcp
注意:不同的算法在不同类型的网络(如高延迟、高带宽等)中表现不同,因此选择正确的算法很重要。
在 Windows 中,一些可用的拥塞控制算法可能包括:
1、CUBIC
2、CTCP
3、DCTCP
上面三种TCP/IP协议栈用途不同,DCTCP适用于服务器上面使用,CTCP适用于客户端上面使用,CUBIC则是客户端/服务器都适用。
DCTCP对于计算机的内存+CPU负载最小,通过客户端每次向服务器输入TCP/IP帧被动触发,类似LWIP的协议栈没有TCP/IP_THREAD的情况。
CTCP则属于客户端主动的,可以提高客户端向服务器的重传效能,提高客户端上行带宽大小,提高上行带宽大小也就意味着,
可以显著的提速,我们知道服务器向客户端发数据,那么能发多快跟客户端上行有很大的直接关系,
如果你只有1ME上行,给你一个1GE带宽,你能拉到100ME都算是很强了(但大家都知道,纯属扯淡,不可能的。)
CUBIC这种是基于丢包控制协议,LINUX内核默认也采用这样的TCP/IP协议控制算法,
ctcp (或 Compound TCP): 这是 Windows Vista 及更高版本中默认的 TCP 拥塞控制算法。它结合了多个拥塞控制算法,
以在多种网络环境中提供最佳性能。
cubic (Cubic TCP): 这是 Linux 中常用的 TCP 拥塞控制算法,也被一些 Windows 版本支持。
它旨在在高带宽延迟乘积(BDP)网络中提供更快的恢复和更高的吞吐量。
开启 CTCP: netsh interface tcp set global congestionprovider=ctcp
关闭 CTCP: netsh interface tcp set global congestionprovider=none
禁用不必要的TCP特性
如果你确定某些TCP特性在你的网络环境中不需要,可以禁用它们来减少CPU负载和网络复杂性。
但请注意,禁用某些特性可能会影响到网络稳定性和兼容性。
netsh int tcp set global chimney=disabled
netsh int tcp set global ecncapability=disabled
netsh int tcp set global timestamps=disabled
优化网卡设置
除了TCP/IP参数外,你还需要确保你的网卡驱动和设置是最新的,并且已经针对性能进行了优化。
这可能包括启用巨型帧(Jumbo Frames)、调整中断合并设置等。
减少任务卸载
在某些情况下,禁用任务卸载可能有助于提高性能,特别是当硬件或驱动存在兼容性问题时。
netsh int ipv4 set global taskoffload=disabled
查看当前的全局TCP参数
netsh int tcp show global
查看TCP默认模板及补充参数
netsh int tcp show supplemental
-------------------------
直接缓存访问(DCA):netsh int tcp set global dca=enabled
接收窗口自动调谐级别:netsh int tcp set global autotuninglevel=normal
附加拥塞控制提供程序 netsh interface tcp set global congestionprovider=ctcp
Win10用户: netsh int tcp set supplemental template=internet congestionprovider=ctcp
RFC 1323 时间戳:netsh int tcp set global timestamps=enabled
---------------------------
自用设置参数!
netsh interface tcp set global initialrto=300
netsh int tcp set global fastopen=enabled
netsh int tcp set global fastopenfallback=enabled
netsh int tcp set global congestionprovider=ctcp
netsh int tcp set supplemental template=internet congestionprovider=ctcp
netsh int tcp set global rss=enabled
netsh int tcp set global autotuninglevel=normal
netsh int tcp set global chimney=disabled
netsh int tcp set global ecncapability=disabled
netsh int tcp set global timestamps=enabled
netsh int ipv4 set global taskoffload=disabled
netsh int tcp set global dca=enabled
|
评分
-
查看全部评分
|