I have 2 clients with a long distance 10 Gbit fibre connection between them. When i run iperf3 -c x.x.x.x -w 3m on the client, i manage to get close to the full 10 Gbit throughput.
When i on the other hand just use iper3 -c x.x.x.x (so not specifying window size) i only get about 1 Gbit. So now i'm wondering how to make my client use the 3m window size by default ?
The client i use is a windows server 2012 r2. I've enabled autoscaling
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
The server is an ubuntu 14.04. I've used sysctl to set following parameters :
net.core.wmem_max=12582912
net.core.rmem_max=12582912
net.ipv4.tcp_wmem=10240 87380 12582912
net.ipv4.tcp_rmem=10240 87380 12582912