我有 2 个客户端,它们之间有长距离 10 Gbit 光纤连接。当我在客户端上运行 iperf3 -c xxxx -w 3m 时,我设法接近完整的 10 Gbit 吞吐量。
另一方面,当我只使用 iper3 -c xxxx (所以不指定窗口大小)时,我只能得到大约 1 Gbit。所以现在我想知道如何让我的客户默认使用 3m 窗口大小?
我使用的客户端是 windows server 2012 r2。我已启用自动缩放
PS C:\Users\Administrator> netsh int 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\Administrator> netsh int 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
Non Sack Rtt Resiliency : disabled
Max SYN Retransmissions : 2
服务器是 ubuntu 14.04。我使用 sysctl 设置以下参数:
net.core.wmem_max=12582912
net.core.rmem_max=12582912
net.ipv4.tcp_wmem=10240 87380 12582912
net.ipv4.tcp_rmem=10240 87380 12582912