The following are general rules and might need to be revised per case
Windows server 2012: (StarWind recommendations)
netsh int tcp set supplemental template=datacenter
netsh int tcp set global rss=enabled
netsh int tcp set global chimney=enabled
netsh int tcp set global dca=enabled
https://forums.starwindsoftware.com/viewtopic.php?f=5&t=2293
Large send offload –> Disabled
Transmit Buffer –> Max (600)
http://www.kernsafe.com/tech-articles/networkdisk-performance-improves.aspx
Linux:
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_syncookies=1
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216
—————————————————————————————————————————-
# watch cat /proc/net/tcp
http://www.cyberciti.biz/faq/linux-tcp-tuning/
https://wwwx.cs.unc.edu/~sparkst/howto/network_tuning.php
https://www.frozentux.net/ipsysctl-tutorial/chunkyhtml/tcpvariables.html
http://www.nateware.com/linux-network-tuning-for-2013.html#.Vd5k8tRzbDc
http://kaivanov.blogspot.ca/2010/09/linux-tcp-tuning.html
http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Q_28353794.html
—————————————————————————————————————–
https://anchorhelp.zendesk.com/entries/22664768-HTTP-Download-Speed
The problem might be associated with the default SendBufferSize value in the Apache httpd.conf file. Windows seems to completely ignore this value and Apache will use the default Winsock value for the buffer size (4096).
This value can significantly reduce performance on High Latency/High Speed links when set too low. You can change the default value in Windows so that Apache will then use this new value.
To change the default value in Windows:
1.Open regedit and browse to:
HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > AFD > Parameters
2.Create the following two DWORD values:
DefaultReceiveWindow
DefaultSendWindow
3.Set both of these values using DECIMAL (not Hex) through the following formula:
DefaultReceiveWindow = (Download Capacity in Kilobits * 1024) / 8
DefaultSendWindow = (Upload Capacity in Kilobits * 1024) / 8
For example, for a 10Mbit (10000 kbit) upload and download:
DefaultReceiveWindow = (10000 * 1024) / 8 = 1280000
DefaultSendWindow = (10000 * 1024) / 8 = 1280000
Note: Adding the above registry values may help you gain a substantial (up to 10x) performance boost.
————————————————————————————————————————
TcpWindowSize
https://technet.microsoft.com/en-us/library/cc938219.aspx
GlobalMaxTcpWindowSize
https://technet.microsoft.com/en-us/library/cc757802(v=ws.10).aspx
—————————————————————————————————————