Cubby isn't using expected bandwidth. What can I do?

This article is for advanced users who want to maximize bandwidth throughput.

On all versions of Windows since Vista, the TCP Window Auto-Tuning function allows you to optimize data throughput for TCP connections.

To check the status of auto-tuning on your PC, use these commands:

netsh int tcp show global
netsh int tcp show heuristics
netsh winsock show autotuning

The output should be similar to this (exact parameters may differ):

C:\....> netsh int tcp show global
Querying active state... 
TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State                : enabled
Chimney Offload State                     : automatic
NetDMA State                              : enabled
Direct Cache Acess (DCA)                  : disabled
Receive Window Auto-Tuning Level          : normal
Add-On Congestion Control Provider        : none
ECN Capability                            : enabled
RFC 1323 Timestamps                       : disabled
C:\....> netsh int tcp show heuristics
TCP Window Scaling heuristics Parameters
----------------------------------------------
Window Scaling heuristics                 : enabled
Qualifying Destination Threshold          : 3
Profile type unknown                      : normal
Profile type public                       : restricted
Profile type private                      : normal
Profile type domain                       : normal
C:\....>netsh winsock show autotuning
Winsock send autotuning is enabled.

As you can see, Winsock send autotuning is enabled, and Receive Window Auto-Tuning Level is set to Normal. Normally this means everything is fine. 

If Receive Window Auto-Tuning Level is disabled and you experience slow upload speeds with Cubby, you can first try to resolve the issue with the following command:

netsh int tcp set global autotuninglevel=normal

Unfortunately, Windows has a so-called TCP Window Scaling heuristics logic which may turn off the auto-tuning features. The indicator for this issue is as follows:

** The above autotuninglevel setting is the result of Windows Scaling heuristics
overriding any local/policy configuration on at least one profile.

If you still experience slow upload speeds with Cubby, you can try to turn off TCP Window Scaling heuristics with this command:

netsh interface tcp set heuristics wsh=disabled

Important: To apply changes, exit and restart the Cubby desktop application!


Additional notes and commands:

To turn off auto-tuning (in case you need to revert):

netsh int tcp set global autotuninglevel=disabled

To enable heuristics (in case you need to revert):

netsh interface tcp set heuristics wsh=enabled

To set the system default so TCP Window Scaling heuristics is disabled:

netsh interface tcp set heuristics wsh=default

Feedback and Knowledge Base